2016-03-07 118 views
0

我正在試圖製作一個私人消息系統,用戶可以在其中進行對話。每個對話都有其獨特的散列。我想將消息存儲在我的數據庫中,但由於某種原因,散列值被存儲爲0而不是我請求的數字。

<form method="post" action="exiConversations.php" id="sendMessageFooterForm"> 
    <input type="text" name="userNewMessage" id="userMessage" placeholder="Type een bericht" /> 
    <input type="submit" name="sendNewMessageSubmit" id="sendMessageSubmit" value="Verzend" /> 
     <?php 
     if (isset($_POST['sendNewMessageSubmit'])) { 
      $message = $_POST['userNewMessage']; 
      $fromUser = $_SESSION['userID']; 
      $today = date("y/m/d H:i:s"); 
      $exiHash = $_GET['hash']; 
      $insertNewMessage = $conn->query("INSERT INTO messages (fromuser, messagedate, message, grouphash) VALUES ('$fromUser', '$today', '$message', '$exiHash')"); 
     } 
     ?> 
</form> 

我不知道該做什麼了。它使用了var_dump($ exiHash);它顯示我想要存儲的散列號但它只存儲一個0.

+0

哪種類型的列'grouphash'它是否行得通呢? –

+0

@ alexander.polomodov是的,我想將它存儲在colum grouphash中 –

+0

在提交到數據庫之前,您確實需要'轉義'您的變量。特別是因爲你直接來自用戶生成的網址。根據你使用的框架,我不確定正確的功能,但會像$ conn-> real_escape_string($變量),http://php.net/manual/en/function.mysql-real- escape-string.php – timothymarois

回答

0

更改表單標記中的動作attr。 它必須像我

action="exiConversations.php?<?=$_GET['hash']?>"

,但只有當你有當前的URL一樣....?哈希= 45345345

+0

*「,但它只有當你有當前的網址,如.... .... hash = 45345345」* - 不完全正確。這可能來自預取的數據庫查詢。 –

+0

是的,你是對的。或從會話變量。或其他POST變量(如果此頁面從表單加載)。許多變種:) –