$ _POST ['变量']不起作用

时间:2014-03-17 22:29:43

标签: php

从$ _POST获取$userid时遇到问题。我以前做了很多次,所以我不确定我突然做错了什么。

提交给user_confirm.php的表单

<?php
//confirm user function
  function confirmUsers() {
    //make connection global
      global $con;

    //set user variables
    $userquery =  mysqli_query($con, "SELECT * FROM users WHERE userlevel = 0");

    //echo list
   echo '<center><form name="userConfirm" action="functions/user_confirm.php" method="post">';
     echo '<select name="confirmUser">';
       while ($row = mysqli_fetch_array($userquery)) {
         echo "<option value='" . $row['userid'] ."'>" . $row['username'] ."</option>"; 
         //in viewing element, the userid is displaying properly
       }
     echo '<input type="submit" value="Confirm User">';
     echo '</select>';
     echo '</form></center>';
  }
?>

user_confirm.php

<?php
//include db connect
  include ("db_con.php");

//set variable names
   $userid = $_POST['userid'];

//start session
  session_start();

echo $userid;


?>

正如您所看到的,我只是试图回应从表单传递的变量。它不起作用,我完全困惑为什么,任何想法?

如果需要的话是db_con.php

<?php
$con=mysqli_connect("localhost","user","pw","db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>

3 个答案:

答案 0 :(得分:5)

您没有名为userid的表单字段,也许您的意思是confirmUser字段:

$userid = $_POST['confirmUser'];

答案 1 :(得分:0)

您没有将userid var传递给user_confirm.php,请尝试将您的select重命名为userid

答案 2 :(得分:-1)

编码看起来对我来说应该有用。 我不确定这是否有帮助,但尝试加载session_start();第一。 接下来的事情是做一个print_r($ _ POST)并查看显示的内容。 还可以查看已完成的html的来源,并查看它是如何打印出来的。 我也喜欢用 echo&lt;&lt;

END; 有了这个你就可以输入html加上没有&#39;的字符串。或&#34;除非html需要它。

我自己错过了confirmUser .. =(