2012-11-24 49 views
0

我還想作一個簡單的登錄表單的網站簡單的PHP/MySQL的登錄表單安全

<form action="ContactFormHandler.php" method="post"> 
     <table> 
      <tr> 
       <td> 
        Username: 
       </td> 
       <td> 
        <input type="text" id="username" name="username" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Password: 
       </td> 
       <td> 
        <input type="text" id="password" name="password" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Your Email: 
       </td> 
       <td> 
        <input type="text" id="Email" name="Email" /> 
       </td> 
      </tr> 
      <tr> 
       <td colspan="2" style="text-align: center;"> 
        <input type="submit" id="submit" value="Submit" /> 
        <input type="reset" id="reset" value="Reset" /> 
       </td> 
      </tr> 
     </table> 
    </form> 
</body> 

你看,它說的聯繫表格處理程序?我希望表單和處理表單的文件是相同的文件。 2 in 1.

如何將此聯繫人處理程序包含在聯繫人表單的同一個文件中?

<?php 
$contactName = $_POST["ContactName"]; 
$contactEmail = $_POST["ContactEmail"]; 
$contactPassword = $_POST["ContactLeastFavoriteColor"]; 
$sql_connection = mysql_connect("localhost", "root", "root"); 
mysql_select_db("MyRadContactForm", $sql_connection); 
$sql = "INSERT INTO MyRadContacts (
      ContactName, 
      ContactEmail, 
      ContactPassword, 
      ContactDateCreated 
     ) 
     VALUES (
      '$contactName', 
      '$contactEmail', 
      '$contactPassword', 
      NOW() 
     )"; 

mysql_query($sql, $sql_connection); 
mysql_close($sql_connection); 
?> 
+1

你對SQL注入開放 –

回答

0

使該表單提交到自己的頁面

變化形式的actionaction="<?php echo $_SERVER['PHP_SELF'] ?>"使表單提交到同一頁面

流程表單的頁面

內將在你的PHP代碼檢查,以查看錶單是否被提交:

if (isset($_POST['submit'])) { 
    [your processing code here] 
} else { 
    [display form] 
} 

(一定要加name="submit"到您的提交按鈕)

+0

-1暗示空行爲 –

+0

但他問的是如何使用1個文件而不是2個文件,他不問其他任何東西 – sbaaaang

+0

@ WebnetMobile.com,謝謝指出,回答編輯。 – Config

0

使用這種方法

檢查表單提交

<?php 
if($_POST['login_submit'] ==1){ 
    //process your logic here 
} 
?> 

修改表單

<form action="" method="post"> 
<input type="hidden" name="login_submit" value="1"> 
.... 
..... 
</form> 
+0

-1你有紅色的問題嗎? – sbaaaang

1

你需要使用.php擴展到您的文件中包括1個文件的原因所有代碼:

login.php可以包含htmlphp

login.html可以包含html但不php代碼

這樣你就可以做所有在一次創建login.php文件:

<?php 
$contactName = $_POST["ContactName"]; 
$contactEmail = $_POST["ContactEmail"]; 
$contactPassword = $_POST["ContactLeastFavoriteColor"]; 
$sql_connection = mysql_connect("localhost", "root", "root"); 
mysql_select_db("MyRadContactForm", $sql_connection); 
$sql = "INSERT INTO MyRadContacts (
      ContactName, 
      ContactEmail, 
      ContactPassword, 
      ContactDateCreated 
     ) 
     VALUES (
      '$contactName', 
      '$contactEmail', 
      '$contactPassword', 
      NOW() 
     )"; 

mysql_query($sql, $sql_connection); 
mysql_close($sql_connection); 
?> 


<!--your html code here --> 

也請檢查你的代碼是在安全SQLinjection,谷歌的,如果你想有一些提示要關注,併爲我的壞英語感到抱歉

+0

你們所有人真的幫了我。我想每個人都有一個。有人下了我,所以我輸了15分。我不能投票。 – user1838592

+0

@ user1838592我剛剛贊成你,所以thx! – sbaaaang

1

爲您的提交按鈕命名,以便您可以檢查它是否存在於請求中。如果沒有,請顯示錶單,如果它是在請求中,那麼您從表單中調用 - 將數據存儲在數據庫中。

增加/減少你的代碼應該是這樣的:

<?php 

if(isset($_POST['submit'])) { 

    $contactName = $_POST["ContactName"]; 
    $contactEmail = $_POST["ContactEmail"]; 
    $contactPassword = $_POST["ContactLeastFavoriteColor"]; 
    $sql_connection = mysql_connect("localhost", "root", "root"); 
    mysql_select_db("MyRadContactForm", $sql_connection); 
    $sql = "INSERT INTO MyRadContacts (
       ContactName, 
       ContactEmail, 
       ContactPassword, 
       ContactDateCreated 
      ) 
      VALUES (
       '$contactName', 
       '$contactEmail', 
       '$contactPassword', 
       NOW() 
      )"; 

    mysql_query($sql, $sql_connection); 
    mysql_close($sql_connection); 

} else { 

?> 

    <form action="ContactFormHandler.php" method="post"> 
    <table> 
     <tr> 
      <td>Username:</td> 
      <td><input type="text" id="username" name="username" /></td> 
     </tr> 
     <tr> 
      <td>Password:</td> 
      <td><input type="text" id="password" name="password" /></td> 
     </tr> 
     <tr> 
      <td>Your Email:</td> 
      <td><input type="text" id="Email" name="Email" /></td> 
     </tr> 
     <tr> 
      <td colspan="2" style="text-align: center;"> 
       <input name="submit" type="submit" id="submit" value="Submit" /> 
       <input type="reset" id="reset" value="Reset" /> 
      </td> 
     </tr> 
    </table> 
    </form> 

<?php 

} // end of else 

?> 

你還是開到SQL注入和你的代碼似乎並沒有處理任何錯誤(既不缺少數據從像空字段,也不代碼形式失敗),但這超出了你的問題範圍。