2014-07-17 48 views
0

所以,我有一個PHP頁面,通過從數據庫中獲取數據,使組合框。在我詢問數據庫後,我想保存選擇並將其發送到另一個PHP頁面。但是,問題是它沒有達到它。從數據從一個SQL查詢在PHP中,並將其發送到另一個PHP

<form action ="sending.php" method="POST" > 
<?php 
    $link = mysql_connect('localhost', 'root', '','printers'); 
    mysql_select_db("printers", $link); 

    $query = "SELECT name_printer FROM insurers"; 
        // Execute it, or return the error message if there's a problem. 
    $result = mysql_query($query) or die(mysql_error()); 

    $dropdown = "<select name='users' class='dropdown-menu'>"; 

    while($row = mysql_fetch_assoc($result)) { 
      $dropdown .= "\r\n<option value='{$row['name_printer']}'> 
      {$row['name_printer']}</option>"; 
      } 
      $dropdown .= "\r\n</select>"; 
      echo $dropdown; 
        ?> 
        <br><br> 

     <input type="hidden" name="selected_text" id="selected_text" value="" /> 
     <input type="submit" name="search" value="Search"/> 
</form> 

而且sending.php

<?php 

if(isset($_POST['search'])) 
{ 

    $makerValue = $_POST['users']; // make value 

    $maker = mysql_real_escape_string($_POST['selected_text']); // get the selected text 
    var_dump($maker); 
} 
?> 

它打印什麼是字符串(0) 「」。

+0

如果你沒有通過JavaScript設置''selected_text'',那麼這個值將一直是空的 - 因爲它是隱藏的,並且它的值是HTML中的''''''。 – thedom

+0

selected_text是一個沒有值的空隱藏輸入,因此您的代碼沒有任何問題,它會正確返回它所得到的內容。你應該vardump你的選擇,給它一個名字和id。此外,你必須添加一個選定的

+0

實際上我根本不使用JavaScript。我應該做一個函數來設置selected_text動態?或者只是將值設置爲可見解決方案? –

回答

0

你的問題是與$maker變量,它是從一個逃出$_POST['selected_text']如果在值設置爲value="",因此通過var_dumping它,你將不會收到任何輸出HTML看哪一組。

你應該做的是使用mysql_real_escape轉義$makerValue而不是$_POST['selected_text']

這樣它會轉儲從數據庫收到的數據。

+0

你我的朋友是一個生活者!多謝。 –

+0

沒問題,很高興我能幫忙。 – jordan

0

其實你已經從波紋管的語句讓selected_text:

$makerValue = $_POST['users']; 

這樣你就可以直接使用波紋管代碼:

$maker = mysql_real_escape_string($_POST['users']); 

一兩件事,

mysql_real_escape_string() 

被棄用的PHP 5.5.0

相關問題