我正在学习MySQL和PHP,并且在表单输入方面遇到了问题。所以我写了一个小的测试代码,但它仍然无法工作。我的PHP版本是5.6。
代码:
<html>
<body>
<form action ="2.php" method ="post">
Name: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>
</body>
</html>
和
<html>
<?php
if(isset($_POST['username'])){
$user=$_POST['username'];
echo $user;
echo " is your name";
}
else{
$user=null;
echo "error";
}
?>
</html>
项目的输出始终是错误的,不能输出之前的输入。
我尝试使用单引号和双重引用用户名,两者都无法正常工作。
我还尝试将php.ini中的always_populate_raw_post_data设置为0,-1,1,一切都无法工作。
我不知道问题出在哪里,虽然这可能非常愚蠢。
答案 0 :(得分:1)
看起来它是正确的,应该没有任何问题。确保上面的代码是你实际拥有的。根据我的经验,大多数表单提交可以是
从你上面的代码看起来一切都很好。如果您仍然没有获得正确的结果,最好使用 var_dump 或 print_r 功能调试这些内置功能 $ _ POST , $ _ GET , $ _ REQUEST 并检查它们是否包含表格变量名用户名
答案 1 :(得分:0)
您正在使用isset
作为变量,但它是一个返回布尔值的函数。
将$user=isset($_POST['username']);
更改为$user=$_POST['username'];
答案 2 :(得分:0)
另外一点是,在这两种情况下,即使没有为该字段添加任何值,您也会处于IF状态,因此您也可以这样做:
<html>
<?php
if(isset($_POST['username']) && !empty($_POST['username'])){
$user=$_POST['username'];
echo $user;
echo " is your name";
}
else{
$user=null;
echo "error";
}
?>
</html>