簡體   English   中英

表單未傳遞POST數據

[英]Form not passing POST data

我已經有一段時間這個問題了,這是我表單的代碼:

    <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變量沒有發送到我的主頁?

非常感謝您的事先幫助!

用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!";
     }
 ?>

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行

這很奇怪,但是經過幾次嘗試,我做了些改變:

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

對於:

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

它開始工作,然后我將其更改回原來的形式,並繼續工作。 感謝大家的評論,他們都以不同的方式幫助我檢查了變量,感謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM