2015-06-29 56 views
0

我有一個問題...數據沒有插入到數據庫中,也沒有錯誤

我試圖把數據插入到我的html5表格並將其插入數據庫。現在我已經制作了一個應該工作的腳本;相反,沒有數據被插入到數據庫中,並且沒有顯示錯誤。請幫忙。

form.php的

<form name="loginForm" method="post" action="process.php"> 
<input id="username" type="text" placeholder="Username" name="username"> 
<input id="password" type="password" placeholder="Password" name="password"> 
<input type="submit" id="Login" class="form-control" value="Log In"> 
</form> 

process.php

<? 
$username=$_POST['username']; 
$password=$_POST['password']; 
mysql_connect("localhost", "root", "toor") or die(mysql_error()); 
mysql_select_db("formd") or die(mysql_error()); mysql_query("INSERT INTO `data` VALUES ('$username', '$password')"); 
Print "Your information has been successfully added to the database."; 
?> 

現在我知道這個心不是存儲密碼或用戶名,但是這個心不是任何網站以安全的方式我真的只是想知道如何從我的表格中獲取信息並將其存儲到數據庫中。

+0

試着改變你的線路是: 的mysql_query( 「INSERT INTO'data' VALUES( '$用戶名', '密碼$')」 )或死(mysql_error()); 您正在捕獲選擇和連接數據庫的錯誤,但未插入。 – chrislondon

+0

您的插入查詢中沒有傳遞列名,所以請確保'data'表中只有兩列。 –

+0

我已經取代了那條線克里斯,它仍然沒有工作。列中還有kamal,有用戶名和密碼。 –

回答

0

您已經添加了最小的錯誤處理所有的MySQL函數調用但一涉及到實際查詢....

該腳本還prone to sql injections

mysql_ *擴展名被mared爲已棄用,更好pick another mysql extension

<?php 
$mysql = mysql_connect("localhost", "root", "toor") 
    or die(mysql_error()); 
mysql_select_db("formd", $mysql) 
    or die(mysql_error($mysql)); 

$username=mysql_real_escape_string($_POST['username'], $mysql); 
$password=mysql_real_escape_string($_POST['password'], $mysql); 

mysql_query("INSERT INTO `data` VALUES ('$username', '$password')", $mysql) 
    or die(mysql_error($mysql)); 
echo "Your information has been successfully added to the database."; 

使用or die(mysql_error())可導致Information Leakage issues

+0

謝謝你這個工作!很好地顯示了一個錯誤,但我可以從那裏修復它。 –

0

我還在學習最基礎的我自己,我沒有測試過這一點,只是剪斷出來很長的SQL腳本我有那麼它可能工作,不得,希望它能幫助你。如果不看看代碼下面的鏈接。希望它適合你,或者可能需要一點點調整。由於

<?php 
if (isset($_POST['submit'])) { 

$submit   = $_POST['submit']; 
$username  = $_POST['username']; 
$password  = $_POST['password']; 

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'toor'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if (!$conn) { 
    die('Could not connect: '.mysql_error()); 
} 

$sql = "INSERT INTO data (username','password') 
       VALUES('$username','$password')"; 

mysql_select_db('formd'); 
$retval = mysql_query($sql, $conn); 
if (!$retval) { 
    die('Could not enter your data: '.mysql_error()); 
} 
echo "Entered your dara successfully\n"; 
mysql_close($conn); 
} else { 
    echo "Something has gone wrong."; 
} 

?> 

替代鏈接看看:http://www.jotform.com/help/126-How-to-send-Submissions-to-Your-MySQL-Database-Using-PHP