2016-04-30 37 views
0

好的,夥計們。我是新的PHP和其他服務器端代碼。使用html格式將數據插入數據庫

我能夠成功連接到我的服務器和數據庫。我可以使用插入數據代碼插入數據的值。但是,當我將值輸入代碼時,這些值就是發送到表中的值。如何使用HTML表單來使用輸入到文本區域的自定義數據顯示在我的數據庫表中?

例如,當我使用VALUE(「喬恩」,「母鹿」)發送這些值到數據庫中,而不是我輸入到文本區文本

。我如何解決這個問題,填寫網絡表單時輸入我的真實姓名?

基本上,我問我將如何使用Web窗體操縱數據到數據庫中。我很困惑

+0

快,讓你嘗試過什麼,你得到了什麼錯誤。 – gofr1

+0

你可以開始聽到http://php.net/manual/en/tutorial.forms.php,然後爲數據庫https://phpdelusions.net/pdo – david

+0

歡迎來到Stackoverflow(SO)!供參考:SO不是提出一般問題的地方,需要很長的回答或需要討論。您應該閱讀開發人員網站上的手冊,提供您的經驗,並在某個時刻提出具體問題,您無法找到特殊解決方案或發現錯誤。你應該提供你的代碼到目前爲止,並解釋,它打算做什麼,實際發生了什麼以及你試圖解決什麼問題。 –

回答

0

我們鼓勵您使用PDO(或至少mysqli的)準備從第一天語句。這樣您可以相對安全地將數據插入到SQL語句中。請閱讀official manual。請注意,默認情況下,PDO將模擬準備好的語句。這可能會導致安全漏洞。因此,您應該請求切換模擬的準備好的語句。

$options  = [PDO::ATTR_EMULATE_PREPARES => false]; 
$pdoConnection = new PDO($dsn, $user, $password, $options); 

然後,您可以創建一個像準備的SQL語句: 「?」

SELECT `id`, `value` FROM `myTable` WHERE `value` = ?; 

只要驅動程序支持真正的預處理語句中,將不會被直接替換,數據將在語句後單獨發送。這可以避免通過編碼攻擊進行SQL注入。

如果您有具體問題,請閱讀文檔,嘗試一下並返回。

0

您可以在一個頁面上構建一個表單,將輸入發送到另一個頁面。例如:

的index.php:

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body> 
    <form method="POST" action="action.php"> 
     <input type="text" name="message"> 
     <input type="submit" value="Submit"> 
    </form> 
    </body> 
</html> 

你的PHP/MySQL的代碼,然後將在一個名爲action.php的這將是位於同一個目錄中的index.php頁面存在。

action.php的:

<?php 
$message = $_POST['message']; 
/*now you can use the $message variable in your MySQL code to insert 
it into the database*/ 
?> 

請記得使用的預處理語句,並在你的MySQL代碼綁定的參數,以防止黑客攻擊(如SQL注入)。

讓我知道,如果這對你有用!

0

當創建HTML中的表格,您可以定義以下輸入:

<input type="text" name="my_input"> 

接入該特定輸入的內容,提交表單後。取決於您的表單使用何種方法$_GET['my_input']$_POST['my_input']來檢索在表單輸入中輸入的值。

嘗試播放角落找尋這個例子:

<form action="" method="get"> 
    <input type="text" name="field" value="<?php print $_GET['field']; ?>"> 
    <input type="submit" name="s" value="Go!"> 
</form> 
<?php 

if (isset($_GET['s'])) { 
    print "value of the text field: ".$_GET['field']; 
}