2012-12-22 101 views
-1

我似乎無法從HTML表單檢索後變量的值..出於某種原因。這是通常很簡單,但是當我去得分PHP文件..沒有任何形式的值被檢索:(

<?php 
$id = $_GET['id'];  
?> 

<form action="score.php" method ="post"> 
    <table border="0"> 
     <tr> 
      <td> 
       <input type="radio" name="score" id="<?php echo $id ?>" value="2" />  
       <img style ="position:relative; left:-90;top:-20" src="./images/+2.png" /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="radio" name="score" id="<?php echo $id ?>" value="3"/> 
       <img style ="position:relative; left:-90;top:-20" src="./images/+3.png" /> 
      </td> 
     </tr>      
     <tr> 
      <td> 
       <input type="radio" name="score" id="<?php echo $id ?>" value="-1" /> 
       <img style ="position:relative; left:-90;top:-20" src="./images/-1.png" /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="radio" name="score" id="<?php echo $id ?>" value="-2"/> 
       <img style ="position:relative; left:-90;top:-20" src="./images/-2.png" /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="submit" id="mysubmit" value="Submit score" /> 
      </td> 
     </tr> 
    </table> 
</form> 

下面是score.php文件..

<?php 
require('../madscore/database/connect.php'); 
?> 
<?php 
database_connect(); 
$id = $_POST['id']; 
$value = $_POST['value']; 
$query = "UPDATE people SET Score= Score +".$value."WHERE ID ='".$id."'"; 
var_dump($query);exit; 
$result = $connection->query($query); 
$row_count = $result->num_rows; 
var_dump($row_count); 

?> 
+2

**你的代碼很容易受到SQL注入攻擊**你真的應該使用[prepared statements](http://stackoverflow.com/a/60496/623041),你通過它你的變量作爲參數不被SQL評估。如果你不知道我在說什麼,或者如何解決它,請閱讀[Bobby Tables](http://stackoverflow.com/q/332365/623041)的故事。 – eggyal

+1

我會解決這個問題..我知道..這僅僅是一個鍛鍊。我需要幫助該回來沒有價值的POST變量.. –

+0

既可以使用'的var_dump($ _ POST)'或'的print_r($ _POST)'知道'$ _POST'數組的實際屬性是什麼 – ianace

回答

1

我認爲你應該使用

$value = $_POST['score']; 

$value = $_POST['value']; 

至於在POST的ID代替: 您可以添加一個不可見的輸入元素,持有由GET給出的ID值。這樣,它將被保存在POST中。

<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" /> 
+0

非常感謝你哦!!!!!! –

+0

不客氣:) – Nerbiz

1

莫非是因爲你在所有表單元素中使用了name="score"。將名稱元素更改爲name="id"name="value",看看它是否工作