2013-08-05 27 views
0

單獨的表我建立了庫存程序爲我的實習。 我有一個適用於單選按鈕的類別的datalist。如果用戶點擊是,他可以鍵入一個新的分類,如果用戶點擊否,他必須從數據列表中的選項中進行選擇。動態datalists和保存數據從1個HTML表單

我想從烏爾經驗問烏爾建議在以下方面:

如果用戶點擊yes和類型的新categorie,什麼是對我來說,讓這個這個值被中保存的最佳途徑其他人在我的datalist?

的那一刻,我一直在嘗試使用此代碼:

<?php 
$dbhost="localhost"; 
$dbuser="root"; 
$dbpass="admin"; 
$dbname="test"; 

$con=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to the database:' . mysql_error()); 

$mysql_select_db($dbname, $con); 

$sql="INSERT INTO test (test, Naam, Adress, Land) 
     VALUES (' ', '$_POST[Naam value]','$_POST[Adress value]','$_POST[Land value]')"; 

mysql_query($sql); 

$lastid=mysql_insert_id(); 

$sql2=INSERT INTO test2 (test, test2, NieuweCategorie, NameNew, Categorie) 
       VALUES ($lastid, ' ', '$_POST[NieuweCategorie value]','$_POST[NameNew value]','$_POST[Categorie value]')"; 


mysql_query($sql2); 

mysql_close($con); 

?> 

出於某種原因,使用這個時候我沒有得到任何錯誤,因爲事實上我得到通知說我的數據是「成功插入」,但我沒有看到我的數據保存在我的數據庫中。

希望這個問題不是太寬,希望我已經發布了足夠的信息來清楚我想要的!

預先感謝您所有幫助!

+0

邊注:停止使用舊的和過時的'mysql_ *'功能,並開始使用庫MySQLi/PDO預處理語句和變量/值結合。 – Passerby

+0

這太可怕了:''$ _POST [NieuweCategorie value]''它是這樣的:''「。$ _POST ['NieuweCategorie value']。「'''' – DanFromGermany

+0

我在哪裏可以找到並查看這個新的代碼比Passerby先生?我剛剛開始編程製作一切我已經爲初學者書和互聯網的HTML 5網頁設計... 你是否暗示我的舊代碼的使用是使這不適合我或什麼? 一些更清晰的意見,將不勝感激!ty! – Kentje

回答

0
  1. 功能不是變量,只有變量確實有$標誌:mysql_select_db();

  2. 不使用過時mysql_功能,look into the docs,你有一個像PDO和庫MySQLi或mysqlnd作爲替代

  3. 更好的功能
  4. SQL Injection和代碼注入不僅適用於PHP,它可以發生在所有語言,谷歌的安全改進有關它

  5. (應該是第一個建議)從基礎開始。如何連接字符串和變量,關於引用和封閉,我不能經常顯示的東西是Zend Code Style Guide

  6. 一旦你掌握了基礎知識,繼續與對象。從程序轉向面向對象改善了所有方面的php項目1500%

  7. 不要試圖一次性實現所有內容,一步接一步,PHP提供了很多代碼使用示例,試圖理解每一行的代碼,而不是整個事情

  8. ,如果你覺得自己掌握了先進的步驟,你可以去與親風格和使用庫像DoctrineZend Framework

  9. 我纔剛剛開始編程[。 ..]和互聯網 - 互聯網許多許多實用工具和書籍,以及... 80%爲您提供糟糕的做法或過時的信息。你只需要stackoverflow和php.net掌握這種語言。

+0

謝謝DanFromGermany!我認爲這些鏈接將是有用的! 我可以從這些答案假設這個社區將不會考慮這個舊的編碼風格的問題? 因爲我的印象是,我現在必須重新寫我的整個表單,只是爲了能夠使事情工作或尋求幫助.. – Kentje

+0

你應該重寫代碼收到形式v alues。 1.獲取'$ _POST'變量並檢查它們的內容2.實例數據庫對象(pdo/mysqli)3.準備並插入數據庫。更精確和更具體的問題是,你很可能得到準確的答案。普通審查或重寫的問題通常會被降低或甚至關閉。你應該真的去基本知識,以更有信心的語法。 – DanFromGermany

+0

這是一個更清晰的答案tyvm! – Kentje

相關問題