php表单变量处理

php表单变量处理,php,forms,Php,Forms,我有一个表单,将数据提交给PHP进行处理。表单由2个表单字段组成,需要一个数值。字段1是俄亥俄州的员工人数,第二个是全国的员工人数。提交表单并处理数据时,它会根据客户的回答确定正确的程序,并将其发送到包含程序详细信息的页面 表单数据提交并被处理,但我遇到了这些问题。在大多数情况下,第一个表单字段将包含数据,第二个表单字段将为空,有时反之亦然。如果任何字段为空,或者如果它包含一个0,它将进行处理,但忽略包含数据的字段中的数据,并将用户发送到第一个If语句URL 最后一个elseif语句,无论输入的

我有一个表单,将数据提交给PHP进行处理。表单由2个表单字段组成,需要一个数值。字段1是俄亥俄州的员工人数,第二个是全国的员工人数。提交表单并处理数据时,它会根据客户的回答确定正确的程序,并将其发送到包含程序详细信息的页面

表单数据提交并被处理,但我遇到了这些问题。在大多数情况下,第一个表单字段将包含数据,第二个表单字段将为空,有时反之亦然。如果任何字段为空,或者如果它包含一个0,它将进行处理,但忽略包含数据的字段中的数据,并将用户发送到第一个If语句URL

最后一个elseif语句,无论输入的是什么数字,都由第一个if语句处理。我已经很久没有写一个小的PHP脚本了,我可能错过了一些简单的东西,但我没有看到

<?php
$product1 = $_REQUEST['product1'] && $product2 = $_REQUEST['product2'];

if (($product1 <= 50) && ($product2 <= 50))
{echo "<script type='text/javascript'>location.href='http://yahoo.com/'</script>";}

elseif (($product1 >= 51 && $product1 <=100) && ($product2 >= 51 && $product2 <=100))
{echo "<script type='text/javascript'>location.href='http://msn.com/'</script>";}

elseif (($product1 >= 101 && $product1 <= 200) && ($product2 >= 101 && $product2 <= 200))
{echo "<script type='text/javascript'>location.href='http://google.com/'</script>";}

elseif (($product1 >= 201 && $product1 <= 249) && ($product2 >= 201 && $product2 <= 249))
{echo "<script type='text/javascript'>location.href='http://aol.com/'</script>";}

elseif (($product1 > 250) && ($product2 > 250))
{echo "<script type='text/javascript'>location.href='http://tigerdirect.com/'</script>";}
?>

您在这里使用
&&
运算符是胡说八道–它不会导致您想要的结果;请阅读有关操作员优先级的手册页面,找出原因

替换

$product1 = $_REQUEST['product1'] && $product2 = $_REQUEST['product2'];


(如果您想完全正确,那么首先使用
isset
empty
检查$\u请求中的这些值是否存在)

您的$\u请求分配行正在作为

$product1 = ($_REQUEST['product1'] && $product2 = $_REQUEST['product2']);
注意
()
定位。换句话说,
$product1
成为布尔
&
操作的结果。如果两个$\u请求参数都具有非falsy值,则$product1变为布尔真

e、 g

您应该将它们作为单独的作业:

$product1 = $_REQUEST['product1'];
$product2 = $_REQUEST['product2'];

然后将
empty()
与条件语句一起使用。即使使用
isset()
也会有所帮助。您没有在顶部正确定义变量。每个变量都应该有自己的行,不能使用条件语句以这种方式定义两个变量。
$product1 = ($_REQUEST['product1'] && $product2 = $_REQUEST['product2']);
php > $x = 'a';
php > $y = 'b';
php > $p = $x && $q = $y;
php > var_dump($p);
bool(true)
$product1 = $_REQUEST['product1'];
$product2 = $_REQUEST['product2'];