在PHP中使用$ _POST中的变量?

时间:2016-05-14 11:57:46

标签: php

我有一个页面,我正在使用下拉菜单。我已经在select标签的name字段中传递了一个变量,其值来自一个数组。

$query1="Select SSAP from project where projname='$project'";

 $result=mysql_query($query1);
 while($row=mysql_fetch_assoc($result))
  {
$ssap = $row['SSAP'];
$query2="Select * from student where SSAP='$ssap'";
$res=mysql_query($query2);
$row1=mysql_fetch_assoc($res);
$name=$row1['name'];
echo $name; ?> <select name="<?php echo $name;?>">
                 <option value="A"> Exceptional </option>
                 <option value="B"> Highly Effective </option>
                 <option value="C"> Effective </option>
                 <option value="D"> Good </option>
                 <option value="E"> Not Satisfactory </option>
                 </select> <br> <?php

  }

我需要检索在操作页面上另一个变量中创建的每个select标记的值。

$grade=$_POST[$name];

echo $grade;

第一个代码段工作正常,但我无法获取第二个代码段中的值。

2 个答案:

答案 0 :(得分:0)

当提交包含动态名称<select>的表单时,它是不同的请求,因此尚未设置$name

答案 1 :(得分:0)

提交表单后,<select>名称的评估方式将与<select name="Raj">, <select name="Kiran">, ..........<select name="Sameer">等一样,具体取决于您在“学生”表格中查询的$name=$row1['name'];值。此外,您应该考虑到您的查询$query2="Select * from student where SSAP='$ssap'";可能返回多行,似乎您假设只返回一行。

  

另请注意,$_POST是一个接受参数的关联数组   来自提交HTML的KEY=>VALUE对。在$_POST键是的名称   输入形式值中的元素是输入形式中该元素的值

因此,当您的动作脚本中未定义KEY时,您无法在SUPER GLOBAL $POST $_POST[$name];中使用$name变量作为<Select>。我建议你在多个var_dump($_POST)中使用一个命名数组。在您的操作脚本上执行{{1}}。这可能会为你揭示大部分内容。