佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

搜索
查看: 862|回复: 1

PHP Form的疑问?

[复制链接]
mikeng82 该用户已被删除
发表于 29-9-2007 10:58 AM | 显示全部楼层 |阅读模式
请各位高手给我一些Ideas,好吗?万分感激!!!
1. 我要如何在输入Quanlity时,只限于号码。例如不允许4r,78y等;且忘记输入时不会补零。当输入正确时,例如 1,83,下一页会显示001,083。

2.我想在Form里设计多个资料栏一起传送,例如在线底下加如新的Name,Hobby,Sex和Quantity。但我希望当用户输入第二行的资料栏时,只要Name有值,就必须做Validation;反之,当第二行的Name无值,无论其它的资料栏有值或无值,就ignore他。

希望各位理解我想表达的,且尽量帮帮我,谢谢!

<?php
  session_start();
  $_SESSION['Name'] = $_POST['Name'];
  $_SESSION['sex'] = $_POST['sex'];
  $_SESSION['quantity'] = $_POST['quantity'];
?>
<html>
<head>
<title>Testing</title>
<meta http-equiv="Content-Type" c>
<head>
<body>
<?php
        function CheckBoxValue($chekboxvalue) {
               
                if (isset($_POST["hobby1"])) {                        
               
                        $ArrayOfSelection = $_POST["hobby1"];        
                        
                        for ($x = 0; $x < count($ArrayOfSelection); $x++) {
                                
                                if ($ArrayOfSelection[$x] == $chekboxvalue) {
                                        echo ("CHECKED");
                                        break;
                                }
                        }
                        
                }        
        }
?>
<?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 (isset($_POST['quantity'])) {
$quantity= $_POST['quantity'];
settype($quantity,integer);
}
if ($_POST['submit'] == 'submit')
{
if (($_POST["Name"]!="")&&($_POST["hobby1"]!="")&&($_POST["sex"]!=""))
  {
  if(($_POST["quantity"]!="")&&(ereg ("(^[1-9])",$quantity)))
  {
  $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>  
  Quantity: $quantity");
  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 = 'quantity' value = '$quantity'>
  <input type = 'hidden' name = 'Hobby' value = '$serializeHobbies'>
  <br>
  <input type = 'submit' name = 'change' value = 'change'>
  </form>");
  exit;
}
else
{
$error1="Quantity Cannot Empty/Only Number!!!";
}
}
else
{$error="Cannot Empty!!!";}
}
?>
<?php echo $error;?><?php echo $error1;?>
<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 CheckBoxValue("Gaming"); ?><?php if (isset($hobby[0])) echo "checked"; ?>>
  Gaming
  <input name="hobby1[]" type="checkbox" value="Cooking" id="hobby1" <?php CheckBoxValue("Cooking"); ?><?php if (isset($hobby[1])) echo "checked"; ?>>
  Cooking
  <input name="hobby1[]" type="checkbox" value="Swimming"<?php CheckBoxValue("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>
    <strong>Quantity:</strong><br>
    <input name="quantity" type="text" size="3" maxlength="3" value="<?php echo $_SESSION['quantity'] ?>">
    <br>
    <br>
  <hr>
  <p><br>
    <input type="submit" name="submit" value="submit">
</form>
</body>
</html>
回复

使用道具 举报


ADVERTISEMENT

发表于 29-9-2007 07:11 PM | 显示全部楼层
我是在完全没有看你的代码下发表我的看法的.(我懒惰)

1. 用Javascript检查,如果输入正确,检查字串长度,
如果不足3就在前面加0.

2. 用检查字串长度,如果字串长度 = 0,就ignore,如果不是就检查.
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT


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

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 25-3-2026 03:52 PM , Processed in 0.067669 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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