2012-10-09 50 views
0

我是PHP新手。我正在嘗試製作簡單的用戶登錄表單。這裏是我的代碼爲loginpage.php

<html> 
<form action="login.php" action="POST"> 
username<input type='text' name="username"><br> 
password<input type='password' name="pass"><br> 
<input type='submit' name='login'> 


</form> 
</html> 

現在其他頁面是login.php

<?php 
    $username= $_POST["username"]; 
?> 

,它給我的錯誤通知:未定義指數:用戶名在H:\xampp\htdocs\login.php第2行

回答

0

您應該設置:

method="POST"

而不是

action="POST"

如果不設置它,它採用了GET方法。您可以使用$_REQUEST訪問它,因爲它可以訪問POSTGET變量。

1

更改此

<form action="login.php" action="POST"> 

<form action="login.php" method="POST"> 

並嘗試這個

if(isset($_POST["username"])){ 

    $username= $_POST["username"]; 

} 
+1

這裏有兩個問題。 1.他的提交按鈕被命名爲'login''''''' submit''和2.您不應該確定是否提交表單是否存在提交按鈕值,因爲某些瀏覽器(即IE)不會發送提交按鈕值作爲'$ _POST'數據,如果用戶按下回車鍵提交。在用戶名和密碼上使用'​​$ _SERVER ['REQUEST_METHOD'] =='POST''或'isset()'。 – MrCode

+0

@ MrCode更新 –

1

改變這一行

<form action="login.php" action="POST"> 

<form action="login.php" method="POST"> 
1

您可以使用PHP isset()函數功能類似

if(isset($_POST['username'])) 
{ 
    $username=$_POST['username']; 
} 
1
<form action="login.php" **action**="POST"> 

<form action="login.php" **method**="POST"> 
2

Change--

<form action="login.php" action="POST"> 

TO

<form action="login.php" method="POST">