簡體   English   中英

無法在php中將復選框值從一頁傳遞到另一頁

[英]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 />

http://www.w3.org/TR/html-markup/input.checkbox.html

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM