[英]Having trouble passing checkbox value from one page to another in php
我不知道出了什么問題。 我需要從page1.php到page2.php傳遞我的復選框的值(如果選中或未選中)。 僅是一個復選框,而不是數組。 提及我無法使用的任何一種動作。
這是page1.php中的代碼:
<?php
session_start();
$checked = 0; // not checked
$_SESSION['first'] = $checked;
echo "<input value='$checked' name='name' type='checkbox'> <span class='description'> Enable this?</span>";
?>
這是page2.php中的代碼:
<?php
session_start();
$checked = $_SESSION['first'];
if ( $checked == 1 ) {
echo ' checkbox checked ';
}
else
echo ' checkbox not checked ';
?>
$ checked的原始值:
$checked = 0;
而:
input value='$checked'
檢查結果:
$_POST['name'] == '0'
然后,你沒有正確地檢查,如果它等於1 ...復選框的價值,如果它是什么東西被發送checked
。 因此,當選擇“ 0”時,應檢查是否可以捕獲。
例:
HTML: <input type="checkbox" name="foo" value="bar" />
PHP: if ($_POST['foo'] == 'bar') { // do stuff }
要在隨后的頁面上顯示復選框狀態而不是設置其值,請設置其選中狀態。
HTML5規范(與舊版本相同):
checked = "checked" or "" (empty string) or empty
指定該元素表示所選控件。
例如<input type="checkbox" name="foo" value="bar" checked />
1。 您應該將表單方法設置為post 2。 設置會話中的復選框值,因為我在下面的3中使用。 如果您單擊復選框,它將獲得值1,該值在$ checkbox變量中定義,如果未選中,它將得到零4.如果它檢查並提交表單,則可以在會話變量中設置checkbox值,page1.php將具有此代碼
<?php session_start();
if(isset($_POST)) {
$_SESSION['first'] = $_POST['name']; // checkbox name
}
$checked = 1;
echo "<input value='$checked' name='name' type='checkbox'> <span class='description'> Enable this?</span>";
?>
和你的page2.php
<?php session_start();
$checked = $_SESSION['first'];
if ( $checked == 1 ) {
echo ' checkbox checked ';
}
else {
echo ' checkbox not checked ';
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.