2012-11-17 62 views
2

我真的很新,我有一個問題,它在過去幾天一直在傷害我的大腦,我試圖尋找我的問題和事情,但沒有任何工作。提交帖子空白數據到mysql

問題是,我有一個HTML表單,當你點擊提交時發送數據到一個mysql表中,但是它提交的數據很好,但是每次你提交時提交一組數據,其中所有的字段都是空白的與$ session_user_id對應的customer字段。

我試過了'if isset',但它似乎對代碼沒有影響。這可能是我錯過的小事,但我沒有得到任何錯誤。我的代碼如下,數據庫連接在另一個.php文件中並且正常工作。

<?php 

if (isset($session_user_id, $_POST['description'])){ 

$description = htmlentities(mysql_real_escape_string($_POST['description'])); 

mysql_query ("INSERT INTO `jobs` (customer, description) 
    VALUES ('".$session_user_id."', '".$description."')"); 

} 

?> 

和我的HTML表單:

<form action="" method="POST"> 
    <ul> 
     <li> 
      <label for="description">Description:</label> 
      <textarea name="description" rows=5 cols=30></textarea> 
     </li> 
     <li> 
      <input type="submit" value="Submit"> 
     </li> 
    </ul> 
</form> 

非常感謝您的幫助。

+2

你不應該逃避進入數據庫的數據。您應該在將其輸出到瀏覽器之前將其轉義(假設它當然是在HTML上下文中)。另外,如果你想逃到數據庫中,你會按照相反的順序執行這些功能。 escape(entities())不是實體(escape())。另外,您應該考慮切換到PDO。 msyql擴展是古老的,並被PHP推薦。無論如何,關於這一點,你有沒有嘗試var_dump'ing $ _POST ['description']?它是一個空字符串嗎?對於isset,空字符串被認爲是正確的。 – Corbin

回答

1

嘗試刪除htmlentities原因只適用於特定的字符集。檢查它也here