2014-03-31 78 views
0

我有一個簡單的形式,在我的html頁面:在FORM中打印選中複選框的值?

<html> 
<head> 
    </head> 
    <body> 
    <form method='post' name='template' action="echo.php"> 
     <input type='checkbox' name='checkboxName' value='1234'>1234<br> 
     <input type='checkbox' name='checkboxName' value='5847'>5847<br> 
     <br> 
     <input type='submit' value='Submit'> 
    </form> 
</body> 

一旦用戶點擊提交我需要的頁面打印所有選中的顏色是這樣的:

1234 
5847 

什麼做的好方法這在PHP中?

謝謝

+0

在複選框輸入的'name'屬性中使用括號:checkboxName []。執行此選中的值將被放入一個數組中,您將可以使用下面的代碼在PHP中讀取 – Andy897

回答

1

試試這個:

給陣列電以名稱命名。

<html> 
<head> 
    </head> 
    <body> 
    <form method='post' name='template' action="echo.php"> 
     <input type='checkbox' name='checkboxName[]' value='red'>Red<br> 
     <input type='checkbox' name='checkboxName[]' value='green'>Green<br> 
     <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br> 
     <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br> 
     <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br> 
     <br> 
     <input type='submit' value='GO'> 
    </form> 
</body> 

然後再顯示它是這樣的:

is_array($_POST['checkboxName']){  
foreach($_POST['checkboxName'] as $value) 
    { 
     echo 'Checked: '.$value ; 
    } 
} 
+0

所以我確實如何在這裏說,但我得到這個:警告:無效的參數提供了foreach()在/Applications/XAMPP/xamppfiles/htdocs/echo.php在第2行。在第2行是這樣的:foreach($ _POST ['checkboxName']作爲$值)任何想法? – zumzum

+0

我已更新答案。現在就試試吧 –

+0

我得到了同樣的錯誤 – zumzum

1
foreach($_POST['checkboxName'] as $value) 
{ 
    echo 'Checked: '.$value.' 
'; 
} 
0

checkboxName添加顏色名稱字段作爲第一個單詞,並刪除所有的值字段。

<html> 
<head> 
    </head> 
    <body> 
    <form method='post' name='template' action="echo.php"> 
     <input type='checkbox' name='checkboxNamered'>Red<br> 
     <input type='checkbox' name='checkboxNamegreen'>Green<br> 
     <input type='checkbox' name='checkboxNameblue'>Blue<br> 
     <input type='checkbox' name='checkboxNameyellow'>Yellow<br> 
     <input type='checkbox' name='checkboxNamepurple'>Purple<br> 
     <br> 
     <input type='submit' name='submit' value='GO'> 
    </form> 
</body> 

如果有多個字段具有相同的名稱,然後用值只有一個字段可以通過PHP訪問,所以你應該讓每個名稱字段是唯一的。因此,我犯了這樣的每個項目:

checkboxNamered,checkboxNamegreen,checkboxNameblue等等

在PHP中,我們檢查,如果前12個字符是checkBoxName,如果是,我們去掉checkBoxName從名稱字段和回聲出剩餘部分:

<?php 
if(isset($_POST['submit'])){ 
foreach($_POST as $k=>$v){ 
    $firstChar=substr($k, 0, 12); 
    if($firstChar=="checkboxName"){ 
    echo str_replace("checkboxName", "", $k); 
    } 
} 
} 
?> 
+0

您可以比這種方式更容易地使用數組! –

1

改變文本框的名稱作爲數組一樣,

<input type='checkbox' name='checkboxName[]' value='red'>Red<br> 
    <input type='checkbox' name='checkboxName[]' value='green'>Green<br> 
    <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br> 
    <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br> 
    <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br> 

然後添加像

foreach($_POST['checkboxName'] as $value) 
{ 
    echo $value.'<br/>'; 
} 
1

PHP代碼您的表單頁面更改名稱字段checkboxName int ØcheckboxName []

<html> 
<head> 
    </head> 
    <body> 
    <form method='post' name='template' action="echo.php"> 
     <input type='checkbox' name='checkboxName[]' value='red'>Red<br> 
     <input type='checkbox' name='checkboxName[]' value='green'>Green<br> 
     <input type='checkbox' name='checkboxName[]' value='blue'>Blue<br> 
     <input type='checkbox' name='checkboxName[]' value='yellow'>Yellow<br> 
     <input type='checkbox' name='checkboxName[]' value='purple'>Purple<br> 
     <br> 
     <input type='submit' value='GO' > 
    </form> 
</body> 
在echo.php頁

<?php 
    foreach($_POST['checkboxName'] as $value) 
    { 
     echo $value.'<br>'; 
    } 
?> 

如果你檢查所有的複選框,該腳本將輸出:

red 
green 
blue 
yellow 
purple 
0

改變文本框的名稱作爲數組像

<input type='checkbox' name='checkboxName[]' value='1234'>1234<br> 
<input type='checkbox' name='checkboxName[]' value='5847'>5847<br> 

Th恩添加PHP代碼像

foreach($_POST['checkboxName'] as $value) 
{ 
    echo "Checked values: ".$value; 
} 

說明: 輸入字段中的文本名稱做出一個數組例如:checkboxName []。您可以使用任何名稱,但請記住在該名稱後面放置[],其他複選框的其餘部分需要使用該名稱。並在php代碼中捕捉到數組版本數據之後。

PHP foreach循環遍歷這個數組,$ value變量包含value/s我們使用複選框選擇的內容。希望這會是一個幫助。