我创建了一个表单,要求输入用户名和密码以进行注册,我使用action=""
将数据发送到同一页面并检查$_POST
变量,但数据未通过此方法传递。当我通过将条件更改为true并重新加载页面来打印$POST
数组时,POST
数组为空,我也可以在URL中看到作为POST
传递的变量。有人解释了什么是问题
代码:
<!DOCTYPE html>
<html>
<?php
if(isset($_POST['user']))
{
echo "Data coming";
die();
}
else {
?>
<form method="POST" enctype="multiform/form-data" action="">
<b> Username: </b><input type='text' name='user'> <br> <br><br>
<b> Password:</b> <input type='password' name='pass'><br> <br>
<input type='submit' value="Submit">
</form>
<?php
}
?>
</html>
答案 0 :(得分:0)
您还必须提供名称以提交按钮。
<input type='submit' name="Submit" value="Submit">
您正在检查$_POST
中的索引'提交',并且提交的表单采用输入类型名称的值。所以你必须像上面一样给出提交按钮的名称。
答案 1 :(得分:0)
您正在检查if isset是否有一个名为的帖子: $ _POST [&#39;提交&#39;]
您的提交按钮没有 名称=提交
作为测试,看看你发送什么用于调试目的,尝试将它放在你的代码中,它将帮助你自我调试:
print_r($_REQUEST);
答案 2 :(得分:0)
&#34;输入类型=&#39;提交&#39;命名=&#34;提交&#34; ... 改为这个。 $ _ POST [&#39;提交&#39;] 在重新加载页面时查找名称为Submit的资源,因为在代码中没有名称为Submit的资源,if语句返回false并且控件切换回else部分。 为提交按钮命名,并在post varibale选项中使用相同的名称。