2013-11-27 21 views
0

爲什麼我不能接收復選框被選中或否,如果我正在使用回聲。如果需要,我可以添加代碼的其他部分。非常感謝

HTML代碼

    <?php 
        $k=1; 
        foreach($prods as $prd){ 
         echo '<input type="text" style="visibility:hidden;display:none;" class="form-control" name="prodid" placeholder="name" value="'.$prd['id'].'">'; 
         echo '<tr> 

         <td class="movable"> 
          <img src=".//assets/img/images_19.png"> 
         </td> 

         <td> 
          <input type="checkbox" name="prod_selected'.$prd['id'].'" value="checked"> 
         </td>'; 

PHP代碼:這裏是新產品的PHP,在這裏我也試着刪除產品,通過檢查它單曲複選框並hiting按鈕刪除。

<?php 
require_once "../assets/class/database.class.php"; 

require_once "../assets/class/category.database.class.php"; 
require_once "../assets/class/picture.database.class.php"; 
require_once "../assets/class/manufacturer.database.class.php"; 
require_once "../assets/class/tag.database.class.php"; 


require_once "../assets/class/product.database.class.php"; 
require_once "../assets/class/product_category.database.class.php"; 
require_once "../assets/class/product_picture.database.class.php"; 
require_once "../assets/class/product_description.database.class.php"; 
require_once "../assets/class/product_tag.database.class.php"; 
require_once "../assets/class/product_related.database.class.php"; 

require_once "../assets/class/functions.php"; 

var_dump($_POST['test']); 
var_dump($_POST['test']); 
if ($_POST['submit']=="add") { 
    $nameid=rand(10,500); 
    $product->_addNewProduct("Newproduct".$nameid); 
    $pid=$product->_getid("Newproduct".$nameid); 
    $url="http://dev.codemyworld.com/sven/product?id=".$pid[0]; 
    header('Location:'.$url); 
    } 

    $check='prod_selected'.$_POST['prodid']; 

if (($_POST['submit']=="delete")&&(isset($_POST['prod_selected']))){ 
    $product->_removeProd($_POST['prodid']); 

} 
var_dump($check); 
var_dump($_POST['$check']); 

?> 

回答

1

變化

$check='prod_selected'.$_POST['prodid']; 

$check=$_POST['prod_selected'.$_POST['prodid']]; 

或者,如果你想$check包含$ _POST數組的鍵(如你在這裏做的),然後更改

var_dump($_POST['$check']); 

var_dump($_POST[$check]); 

而且,你的HTML是不正確的。

<input type="checkbox" name="prod_selected'.$prd['id'].'" value="checked"> 

應該

<input type="checkbox" name="prod_selected'.$prd['id'].'" checked="checked"> 
+0

仍然無法正常工作。我把價值=「檢查」嘗試不同的方式。我仍然無法工作。 –

+0

你讀過答案了嗎?你應該有'checked =「選中」'...你總是可以使用'var_dump($ _ POST);'來查看你從表單提交中得到了什麼。 – OlivierH

+0

確保我看到了你的答案,並且我修改了,但它不會將他的狀態發送給POST。 –

0

檢查你的HTML代碼檢查 應檢查= 「檢查」,而不是價值= 「選中」

Here是一些幫助。

-1

...這是錯誤的,你已經給這個複選框分配了一個值「checked」。如果檢查和提交的值將被讀檢查

應該...

在PHP端做到這一點

$ poduct = $ _ POST [ 'prod_selected']; //這將給出product_id的值...