2013-02-05 30 views
1

我使用PHP插入到MySQL中,代碼經過但當我查詢數據庫時,我在數據庫中找不到任何東西。我無法弄清楚發生了什麼事。我在Db中有五個字段(ID,用戶名,電子郵件,密碼,鹽)。以下是我的PHP代碼。沒有錯誤,但我無法看到我的數據庫中的數據

<?php 
include 'db_connect.php'; 
include 'functions.php'; 

$password = $_POST['password']; 

$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true)); 

$password = hash('sha512', $password.$random_salt); 
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, 
password,salt) VALUES (?, ?, ?, ?)")) 

{  
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt); 

$insert_stmt->execute(); 
echo 'User added';  
} 
else 
{ 
echo 'Error couldnt add the user, Try again'; 
} 

?> 

而下面是我的表單用於註冊。

<form id="form1" name="form1" method="post" action="Registration Process.php"> 
    <table width="373" height="130" border="1"> 
    <tr> 
     <td width="180" height="27">Username (Name &amp; Surname)</td> 
     <td width="140"><label for="username"></label> 
     <input type="text" name="username" id="username" /></td> 
    </tr> 
    <tr> 
     <td height="23">Email</td> 
     <td><label for="email"></label> 
     <input type="text" name="email" id="email" /></td> 
    </tr> 
    <tr> 
     <td height="22">Password</td> 
     <td><label for="password"></label> 
     <input type="text" name="password" id="password" /><label for="salt"> </label> </td> 
    </tr> 
    <tr> 
     <td height="22">Salt</td> 
     <td><input type="text" name="salt" id="salt" /></td> 
    </tr> 
    <tr> 
     <td height="22">Click To register member</td> 
     <td><input type="submit" name="register" id="register" value="Submit" /></td> 
    </tr> 
    </table> 
    <p>&nbsp;</p> 
    <!-- end .content --> 
</form> 
+2

這是正確的? action =「註冊Process.php」的空間? – swapnesh

+4

所有其他變量如何填充?像'$ username','$ email'等等 - 我沒有看到它們被設置在你的代碼中......並且你沒有在你的'$ insert_stmt-> execute()'函數中捕獲錯誤 - 參見[這個頁面上的示例3](http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php)獲取更多信息 –

+0

@swapnesh是的我認爲它是正確的,但是我會改變它參數的緣故,也改變文件名。 thanx –

回答

1

您可能無法從你的代碼POST陣讓你$username$email和其他變量。

此外,您不會在您的$insert_stmt->execute()函數 - see example 3 on this page中捕獲錯誤以獲取更多信息。

相關問題