2014-09-27 32 views
-2

我想用一個PHP窗體來獲取登錄用戶的用戶名和他們的輸入,並將該輸入添加到他們的用戶數據在mysql下的列...使用PHP窗體輸入數據到用戶的mysql記錄

到目前爲止,我做了一個phpfusion自定義頁面,它具有下列創建表單的代碼,但我相信它缺少正確的代碼來設置用戶名變量,以便在輸入文件中查找用戶標識。

<p> 
<table border="1"> 
    <tr> 
    <td align="center">Set/Change MineCraft Password</td> 
    </tr> 
    <tr> 
    <td> 
     <table> 
     <form method="post" action="input.php"> 
     <tr> 
      <td>MineCraft Password</td> 
      <td><input type="text" name="MC password" size="20"> 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
      <td align="right"><input type="submit" 
      name="submit" value="Submit"></td> 
     </tr> 
     </table> 
     </td> 
    </tr> 
</table> 
<?php 
$userdata['user_name']="username" 
?> 
</p> 

然後輸入文件看起來像下面豆蔻位:

<? 
//the example of inserting data with variable from HTML form 
//input.php 
mysql_connect("localhost","root","admin");//database connection 
mysql_select_db("database"); 

//inserting data order 
$order = "INSERT INTO data_employees 
     (user_name, user_mcpass) 
     VALUES 
     ('$user_name', 
     '$MC password')"; 

//declare in the order variable 
$result = mysql_query($order); //order executes 
if($result){ 
    echo("<br>Input data is succeed"); 
} else{ 
    echo("<br>Input data is fail"); 
} 
?> 

目前,它已不能輸入任何東西到MySQL,但返回成功消息。

任何幫助?!?!

+0

兩件事,一個 - >你在哪裏分配'$ user_name'和'$ MC密碼'以及兩個 - >'$ MC密碼'是一個無效變量。 – Rasclatt 2014-09-27 06:33:29

回答

0

$user_name$MC password

第一個變化是:

<td><input type="text" name="MC password" size="20">

<td><input type="text" name="MC_password" size="20">

然後嘗試查詢。

+0

但是他們在哪裏翻譯$ _POST ['MC_password']到$ MC_password? – 2014-09-27 06:36:25

0

爲什麼在sql查詢中放入$MC password之間的空格。如果它是一個變量,那麼刪除這個空間。

另外你很容易從SQL注入。使用mysqli_query() sql查詢的方法而不是mysql_query

0

您的表單和處理中都有錯誤。你也應該切換您mysqlPDOmysqli

<table border="1"> 
    <tr> 
    <td align="center">Set/Change MineCraft Password</td> 
    </tr> 
    <tr> 
    <td> 
     <table> 
     <form method="post" action="input.php"> 
     <tr> 
      <td>MineCraft Password</td> 
      <td><input type="text" name="password" size="20"></td> 
      <td><input type="text" name="username" size="20"></td> 
     </tr> 
     <tr> 
      <td></td> 
      <td align="right"><input type="submit" name="submit" value="Submit"></td> 
     </tr> 
     </table> 
     </td> 
    </tr> 
</table> 

<? 
//the example of inserting data with variable from HTML form 
//input.php 
mysql_connect("localhost","root","admin");//database connection 
mysql_select_db("database"); 

$username = htmlentities($_POST['username'],ENT_QUOTES); 
$username = htmlentities($_POST['password'],ENT_QUOTES); 

//inserting data order 
$order = "INSERT INTO data_employees 
     (user_name, user_mcpass) 
     VALUES 
     ('$username', 
     '$password')"; 

//declare in the order variable 
$result = mysql_query($order); //order executes 
if($result){ 
    echo("<br>Input data is succeed"); 
} else{ 
    echo("<br>Input data is fail"); 
} 
?> 
+0

你應該解釋這些錯誤,然後給出一個不被棄用的代碼的答案,比如'MySQLi'或甚至更好的'PDO'。 – 2014-09-27 06:40:08

+0

儘管你在正確的軌道上。 – 2014-09-27 06:40:27

+0

我以一種建議切換到較新的數據庫方法的方式提供了他的代碼。如果這很重要,他會切換...或有一天它會停止工作... – Rasclatt 2014-09-27 06:52:15

0

您需要發佈變量,當用戶提交表單的PHP檢索。你通常做的是這樣:

if (isset($_POST['username'])) { 
    // Put them in a local variable 
    $uname = mysqli_real_escape_string($link, $_POST['username']); // Sanitize the variable 
    $pass = mysqli_real_escape_string($link, $_POST['MC_Password']); // Sanitize the variable 

    $order = "INSERT INTO data_employees 
    (user_name, user_mcpass) 
    VALUES 
    ('$uname', 
    '$pass')"; 

    $result = mysqli_query($link, $order); //order executes 
    if($result){ 
     echo("<br>Input data is succeed"); 
    } else{ 
     echo("<br>Input data is fail"); 
    } 
} 

順便說一句,「MC密碼」將不會爲你的HTML密碼輸入字段的名稱工作(不能有空格),所以我要改變它就像我在上面的代碼中使用的「MC_Password」。

希望它能幫助!

相關問題