1

我遇到这个问题已经有一段时间了,这是我的表单的代码:

    <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 变量似乎没有被发送到我的主页吗?

非常感谢您提前提供的帮助!

4

3 回答 3

1

使用 empty() 而不是 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!";
     }
 ?>
于 2012-11-13T19:06:49.673 回答
0

C:\wamp\www\site\Main.php

实际上正确的文件夹/文件?
正如其他用户提到的,您应该使用

if(isset($_POST['user']))

但是,您仍然在表单中使用 site/Main.php 作为路径。您发布的错误消息告诉我们 $_POST 数据正在发送到C:\wamp\www\site\Main.php- 您的文件在哪里?如果不是,那就是错误。

此致,

斯蒂芬·S。

编辑:如前所述,这实际上不可能是错误。我建议只是var_dump($_POST);print_r($_POST);在你的 Main.php

并且:这实际上是您的代码吗?我的意思是在您的代码示例中,您的 Main.php 中甚至不存在第 10 行

于 2012-11-13T19:07:25.613 回答
0

这很奇怪,但经过几次尝试,我所做的是改变:

    <form action="site/Main.php" method="post">

为了:

    <form action="Main.php" method="post">

它开始工作,然后我把它改回原来的形式,它继续工作。感谢大家的评论,他们都以不同的方式帮助我检查我的变量,感谢大家的帮助。

于 2012-11-17T02:39:29.010 回答