我一直有这个问题,这是我的表格的代码:
<form action="site/Main.php" method="post">
<p><label for="user" style="text-indent:415px;">User</label> <input type="text" name="user" /></p>
<p><label for="password">Password</label> <input type="password" name="password" /></p>
<p class="submit"><input type="submit" value="log in" /></p>
</form>
此表单位于我的admin.php页面,我想将变量“user”和“password”传递给我的site / main.php页面,但是,当我尝试访问变量时,php告诉我他们这样做了不存在,这是我在site / main.php页面上的代码:
<?php
if(isset($_POST)){
if($_POST["user"] == "Project" && $_POST["password"] == "Project2012"){
echo "Welcome!";
} else{
echo "Wrong username or password!";
}
}
?>
我一直收到以下错误:
(!)注意:未定义的索引:第10行的C:\ wamp \ www \ site \ Main.php中的用户
为什么看起来$ _POST变量似乎没有发送到我的主页?
非常感谢您的帮助!
答案 0 :(得分:0)
使用empty()not isset()检查$ _POST数组。此外,在尝试比较或使用之前,请始终检查数组的索引。
<?php
if(!empty($_POST)){
if(isset($_POST["user"]) &&
isset($_POST["password"]) &&
$_POST["user"] == "Project" &&
$_POST["password"] == "Project2012"){
echo "Welcome!";
} else{
echo "Wrong username or password!";
}
?>
答案 1 :(得分:0)
是
C:\瓦帕\ WWW \站点\ Main.php
实际上是正确的文件夹/文件?
正如其他用户所提到的,你应该使用
if(isset($_POST['user']))
但是,您仍然在表单中使用site / Main.php作为路径。您发布的错误消息告诉我们$ _POST数据正在发送到C:\wamp\www\site\Main.php
- 这是您的文件所在的位置吗?如果没有,那就是错误。
最诚挚的问候,
Stephan S.
编辑:如上所述,这实际上不是错误。我建议您在Main.php中使用var_dump($_POST);
或print_r($_POST);
:这实际上是你的代码吗?我的意思是在你的代码示例中,你的Main.php中甚至不存在第10行
答案 2 :(得分:0)
这很奇怪,但经过几次尝试后,我所做的就是改变:
<form action="site/Main.php" method="post">
有:
<form action="Main.php" method="post">
它开始工作,然后我把它改回原来的形式,它继续工作。感谢大家的评论,他们都以不同的方式帮助我检查我的变量,感谢大家的帮助。