2013-08-02 53 views
0

好的,所以我編寫了這個代碼,引用了各種網站。我正在嘗試爲網站編寫註冊頁面。 html表單如何連接到PHP /如何連接它?什麼形式的動作=「???」在註冊頁面上?

我知道我弄亂了一個地方就是表單中的action =「」。不同的網站告訴我把不同的東西從服務器名稱(「localhost」)放到「」到php所在文件的名稱中(我想在表單所在的文件中使用它)是可能的,我試了這個和一個單獨的文件)。我在那裏放置了什麼,所以點擊提交時,它會在窗體的同一屏幕上顯示錯誤消息,當點擊提交併且沒有錯誤消息時,它會繼續?我在哪裏鏈接它繼續的頁面?

此外,告訴我,如果我的任何代碼已被棄用。我一直試圖檢查一切,但我可​​能錯過了一些東西。

<?php 
include 'connect.php'; 


//if submit is clicked 
if (isset($_POST['submit'])) { 
    //then check if all fields are filled 
    if (!$_POST['username'] | !$_POST['password'] | !$_POST['firstname'] | !$_POST['MI'] | !$_POST['lastname'] | !$_POST['email'] | !$_POST['phonenumber'] | !$_POST['country']) { 
     die('You did not complete all of the required fields'); } 

    $usernamesquery = mysql_query("SELECT * FROM logins WHERE username='$usernametest'"); 
    if(mysqli_stmt_num_rows($usernamesquery) > 0) { 
     die('This username is already taken.'); 
    } 


} 

?> 
<form action="????????" method="post"> 

Username: <input type="text" name="username" maxlength="30"><br> 
Password: <input type="password" name="password" maxlength="30"><br> 
First Name: <input type="text" name="firstname" maxlength="30"><br> 
Middle Initial: <input type="password" name="MI" maxlength="30"><br> 
Last Name: <input type="text" name="lastname" maxlength="30"><br> 
Email: <input type="password" name="email" maxlength="50"><br> 
Phone Number: <input type="text" name="phonenumber" maxlength="11"><br> 
Country: <input type="password" name="country" maxlength="40"><br> 
<input type="submit"> 
</form> 
+0

如果您收到錯誤信息,它的通常有助於在您的問題中包含實際的錯誤信息。 –

+0

在這一點上,我沒有得到任何答案。 –

回答

1

如果你想讓它指向同一個文件,然後只需使用:

<form action="" method="POST"> 

還沒有$_POST["submit"],因爲你沒有給你的提交按鈕的名稱。

<input type="submit" name="submit"> 

此外,$usernametest實際上是否包含任何東西?既然你沒有在上面的代碼中給它一個值。

+0

好的,當表單中沒有輸入任何內容時,它將清除頁面,只顯示「您沒有完成所有必填字段」文本。如何在窗體下方顯示該文本? –

+1

嘗試使用if(空($ _ POST [「password」]))而不是if(!$ _ POST [「password」]),因爲第二個檢查是否已設置,只要設置它就會始終爲真在形式中。第一個檢查值是否爲空。 –

+0

好的,謝謝。如何在不擦除其他所有內容的情況下顯示文字? –

0

如果您想要將表單提交到同一頁面(您已準備好的URL),則可以從<from>標記中刪除action。否則,您需要指定表單需要提交的URL(相對或絕對)。

1

「動作」是帶有一些腳本的頁面,用於解析表單數據並進行登錄。

例如:窗體上有行動「的login.php」,這意味着你提交表單後,數據被髮送到「的login.php」,您可以通過$_POST變量存取權限了。如果您在同一文件中登錄的邏輯和形式,你沒有設置任何操作,它的確定,如果你不喜歡這樣

<form action="" method="POST"> 

More info here