佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 722|回复: 3

PHP chechbox 复选问题!!!

[复制链接]
mikeng82 该用户已被删除
发表于 10-9-2007 03:34 PM | 显示全部楼层 |阅读模式
请问各位高手,当我选择多项checkbox时,我要如何写才能当我按“change”时,回到原本用户选择的选项,谢谢!

<?php session_start();
$_SESSION['Name'] = $_POST['Name'];
?>
<html>
<head>
<title>Testing</title>
<head>
<body>
<?php
if ($_POST['submit'] == 'submit')
{
$Name=$_POST['Name'];
if($_POST["hobby1"])
{   foreach($_POST['hobby1'] as $value)
   {
   $hobby2=join (', ', $_POST['hobby1']);
   }
}
echo
("
Name: $Name<br>
Hobby: $hobby2<br>
");
echo
("<form name='frmtest' method = 'post' action='test.php'>
<input type = 'hidden' name = 'Name' value = '$Name'>
<br>
<input type = 'submit' name = 'change' value = 'Change' onclick='test.php'>
</form>");
exit;
}
?>
<form name="frmtest" method="post" action="test.php">
  <p>
    <strong>Name:</strong>
    <input type="text" name="Name" value="<?php echo $_SESSION['Name'] ?>">
    <br>
    <br>
    <strong>Hobby:</strong><br>
  <input name="hobby1[]" type="checkbox" value="Gaming">
  Gaming
  <input name="hobby1[]" type="checkbox" value="Cooking" id="hobby1">
  Cooking
  <input name="hobby1[]" type="checkbox" value="Swimming">
  Swimming
  <br>
    <br>
    <input type="submit" name="submit" value="submit">
</form>
</body>
</html>
回复

使用道具 举报


ADVERTISEMENT

发表于 11-9-2007 10:11 AM | 显示全部楼层
这是很粗造的做法,自己优化吧
  1. <?php
  2.   session_start();
  3.   $_SESSION['Name'] = $_POST['Name'];
  4. ?>
  5. <html>
  6. <head>
  7. <title>Testing</title>
  8. <head>
  9. <body>
  10. <?php

  11. if ($_POST['change'] == 'change') {
  12.   if (isset($_POST['Hobby']) && !empty($_POST['Hobby'])) {
  13.     //unserialize back
  14.     $hobby = stripslashes($_POST['Hobby']);
  15.     $hobby = unserialize($hobby);
  16.   
  17.     //change key
  18.       //Gaming - 0
  19.       //Cooing - 1
  20.       //Swimming - 2
  21.     for($i=0;$i<3;$i++) {

  22.       if ($hobby[$i]=='Gaming') {
  23.         $temp = $hobby[$i];
  24.         $hobby[$i] = $hobby[0];
  25.         $hobby[0] = $temp;
  26.       }

  27.       if ($hobby[$i]=='Cooking') {
  28.         $temp = $hobby[$i];
  29.         $hobby[$i] = $hobby[1];
  30.         $hobby[1] = $temp;
  31.       }
  32.       if ($hobby[$i]=='Swimming') {
  33.         $temp = $hobby[$i];
  34.         $hobby[$i] = $hobby[2];
  35.         $hobby[2] = $temp;
  36.       }
  37.     }

  38.     foreach($hobby as $key => $val) {
  39.       if (empty($val)) {
  40.         unset($hobby[$key]);
  41.       }
  42.     }
  43.         print_r($hobby);
  44.   }
  45. }

  46. if ($_POST['submit'] == 'submit')
  47. {
  48.   $Name=$_POST['Name'];
  49.   if($_POST["hobby1"])
  50.   {   
  51.       foreach($_POST['hobby1'] as $value)
  52.      {
  53.         $hobby2=join (', ', $_POST['hobby1']);
  54.      }
  55.      $serializeHobbies = serialize($_POST["hobby1"]);
  56.   }
  57.   echo
  58.   ("
  59.   Name: $Name<br>
  60.   Hobby: $hobby2<br>
  61.   ");
  62.   echo
  63.   ("<form name='frmtest' method = 'post' action='test.php'>
  64.   <input type = 'hidden' name = 'Name' value = '$Name'>
  65.   <input type = 'hidden' name = 'Hobby' value = '$serializeHobbies'>
  66.   <br>
  67.   <input type = 'submit' name = 'change' value = 'change'>
  68.   </form>");
  69.   exit;
  70. }
  71. ?>
  72. <form name="frmtest" method="post" action="test.php">
  73.   <p>
  74.     <strong>Name:</strong>
  75.     <input type="text" name="Name" value="<?php echo $_SESSION['Name'] ?>">
  76.     <br>
  77.     <br>
  78.     <strong>Hobby:</strong><br>
  79.   <input name="hobby1[]" type="checkbox" value="Gaming" <?php if (isset($hobby[0])) echo "checked"; ?>>
  80.   Gaming
  81.   <input name="hobby1[]" type="checkbox" value="Cooking" id="hobby1" <?php if (isset($hobby[1])) echo "checked"; ?>>
  82.   Cooking
  83.   <input name="hobby1[]" type="checkbox" value="Swimming" <?php if (isset($hobby[2])) echo "checked"; ?>>
  84.   Swimming
  85.   <br>
  86.     <br>
  87.     <input type="submit" name="submit" value="submit">
  88. </form>
  89. </body>
  90. </html>
复制代码
回复

使用道具 举报

mikeng82 该用户已被删除
 楼主| 发表于 11-9-2007 12:09 PM | 显示全部楼层
真的非常谢谢您!
回复

使用道具 举报

mikeng82 该用户已被删除
 楼主| 发表于 12-9-2007 01:03 AM | 显示全部楼层
请问如果我想要hobby像Sex那样,当Name没输入时;错误讯息显示时,用户原来的选项还在,我要如何写呢?希望各位能够帮帮我,谢谢!

<?php
  session_start();
  $_SESSION['Name'] = $_POST['Name'];
  $_SESSION['sex'] = $_POST['sex'];
?>
<html>
<head>
<title>Testing</title>
<meta http-equiv="Content-Type" c>
<head>
<body>
<?php
if ($_POST['change'] == 'change') {
  if (isset($_POST['Hobby']) && !empty($_POST['Hobby'])) {
    $hobby = stripslashes($_POST['Hobby']);
    $hobby = unserialize($hobby);
  
    for($i=0;$i<3;$i++) {
      if ($hobby[$i]=='Gaming') {
        $temp = $hobby[$i];
        $hobby[$i] = $hobby[0];
        $hobby[0] = $temp;
      }
      if ($hobby[$i]=='Cooking') {
        $temp = $hobby[$i];
        $hobby[$i] = $hobby[1];
        $hobby[1] = $temp;
      }
      if ($hobby[$i]=='Swimming') {
        $temp = $hobby[$i];
        $hobby[$i] = $hobby[2];
        $hobby[2] = $temp;
      }
    }
    foreach($hobby as $key => $val) {
      if (empty($val)) {
        unset($hobby[$key]);
      }
    }
  }
}
if ($_POST['submit'] == 'submit')
{
if (($_POST["Name"]!="")&&($_POST["hobby1"]!="")&&($_POST["sex"]!=""))
  {
  $Name=$_POST['Name'];
  $sex=$_POST['sex'];
  
  if($_POST["hobby1"])
  {   
      foreach($_POST['hobby1'] as $value)
     {
        $hobby2=join (', ', $_POST['hobby1']);
     }
     $serializeHobbies = serialize($_POST["hobby1"]);
  }

  echo
  ("  Name: $Name<br>
  Hobby: $hobby2<br>
  Sex: $sex<br>  ");
  echo
  ("<form name='frmtest' method = 'post' action='test.php'>
  <input type = 'hidden' name = 'Name' value = '$Name'>
   <input type = 'hidden' name = 'sex' value = '$sex'>
  <input type = 'hidden' name = 'Hobby' value = '$serializeHobbies'>
  <br>
  <input type = 'submit' name = 'change' value = 'change'>
  </form>");
  exit;
}
else
{$error="Cannot Empty!!!";}
}
?>
<?php echo $error;?>
<form name="frmtest" method="post" action="test.php">
  <p>
    <strong>Name:</strong>
    <input type="text" name="Name" value="<?php echo $_SESSION['Name'] ?>">
    <br>
    <br>
    <strong>Hobby:</strong><br>
  <input name="hobby1[]" type="checkbox" value="Gaming" <?php if (isset($hobby[0])) echo "checked"; ?>>
  Gaming
  <input name="hobby1[]" type="checkbox" value="Cooking" id="hobby1" <?php if (isset($hobby[1])) echo "checked"; ?>>
  Cooking
  <input name="hobby1[]" type="checkbox" value="Swimming" <?php if (isset($hobby[2])) echo "checked"; ?>>
  Swimming
  <p><strong>Sex:</strong><br>
      <input type="radio" name="sex" value="M"<?php echo (($_SESSION['sex'] == "M")?"CHECKED":""); ?>>
    Male
     <input type="radio" name="sex" value="F"<?php echo (($_SESSION['sex'] == "F")?"CHECKED":""); ?>>
    Female<br>
    <br>
    <input type="submit" name="submit" value="submit">
  </form>
</body>
</html>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 1-10-2025 03:11 PM , Processed in 0.124127 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表