第2行/var/www/html/test/foo.php中的未定义索引'username'

时间:2014-02-22 21:10:48

标签: php html

最近开始学习php,我试图让get方法起作用。

这是我正在测试的html表单:

<!DOCTYPE html>
<html>

<body>
<form action="foo.php" method="get">
  Name: <input type="text" name="username" /><br />
  Email: <input type="text" name="email" /><br />
  <input type="submit" name="submit" value="Submit me!" />
</form>
</body>

</html>

我研究并发现你应该使用isset()检查$ _GET数组是否包含该值。所以我试过(这是foo.php):

<?php
  if(isset($_GET['username']))
  {
    echo $_GET['username'];
  }

  else
  {
    echo "username not passed <br />";
  }

  if(isset($_GET['email']))
  {
    echo $_GET['email'];
  }

  else
  {
    echo "email not passed";
  }
?>

尝试通过get方法传递值似乎有问题,我尝试使用post完全相同的东西,将method =“get”替换为method =“post”并在php中将$ _GET更改为$ _POST文件。这与post方法完美配合。我知道你不应该通过get方法传递像电子邮件等敏感信息,但我只是想测试它。

这是我提交表单后得到的输出: 用户名未通过 电子邮件未通过

1 个答案:

答案 0 :(得分:0)

尝试此方法时会发生什么?

if(array_key_exists('username', $_GET))
    echo $_GET['username'];