• 初学PHP:用post传递checkbox


    书本的做法:

    user_info.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>vinson firt php</title>
    <meta name="Generator" content="">
    <meta name="Author" content="czh">
    <meta name="Keywords" content="php date">
    <meta name="Description" content="">
    </head>
    <style>
    .body
    
     font-size:10pt;
     coclor:#000000;
    }
    </style>
    <body class='body'>
    <table border=0 cellspacing='0' cellpadding='0' class='body'>
     <form name='php_test' method='post' action='./user_info.php'>
     <tr height='21px'>
         <td>
             name:<input type="text" name='user_name' size='15'>
         </td>
         <td>
             sex:
             <select name='user_sex' style="width=100px">
                 <option value='0'>man</option>
                 <option value='1'>woman</option>
             </select>
         </td>
     </tr>
     <tr height='21px'>
         <td>
             Sports hobby:
             <input type="checkbox" name='badminton' value="badminton">badminton
             <input type="checkbox" name='basketball' value="basketball">basketball
         </td>
         <td>
             <input type="checkbox" name='football' value="football">football
             <input type="checkbox" name='vollyball' value="vollyball">vollyball
         </td>
     </tr>
      <tr height='21px'>
         <td>
         </td>
         <td>
             <input type="submit" value="confirm">
         </td>
     </tr>
     </form>
    </table>
    </body>
    </html>

      

    user_info.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>vinson firt php</title>
    <meta name="Generator" content="">
    <meta name="Author" content="czh">
    <meta name="Keywords" content="php date">
    <meta name="Description" content="">
    </head>
    <style>
    .body
     font-size:10pt;
     
     coclor:#000000;
    }
    </style>
    <body class='body'>
    
    <?php 
    if($_POST)
        $name=$_POST['user_name'];
        if($_POST['user_sex']==0)
            $sex="man";
        else 
            $sex="woman";
        $user_insterest="you like:";
        if ($_POST['badminton']) 
            $user_insterest.=$_POST['badminton']."/";    
        if ($_POST['basketball'])
            $user_insterest.=$_POST['basketball']."/";
        if ($_POST['football'])
            $user_insterest.=$_POST['football']."/";
        if ($_POST['vollyball'])
            $user_insterest.=$_POST['vollyball']."/";
            
        $user_insterest=substr($user_insterest, 0,-1);
        echo "your name:".$name."<br>";
        echo "your sex:".$sex."<br>";
        echo $user_insterest;
    ?>
    </body>
    </html>

    这样做,如果哪个checkbox没有选上就报哪个错

    4个复选框checkbox的name应该一样,并且以数组形式命名:

    user_info.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>vinson firt php</title>
    <meta name="Generator" content="">
    <meta name="Author" content="czh">
    <meta name="Keywords" content="php date">
    <meta name="Description" content="">
    </head>
    <style>
    .body
    
     font-size:10pt;
     coclor:#000000;
    }
    </style>
    <body class='body'>
    <table border=0 cellspacing='0' cellpadding='0' class='body'>
     <form name='php_test' method='post' action='./user_info.php'>
     <tr height='21px'>
         <td>
             name:<input type="text" name='user_name' size='15'>
         </td>
         <td>
             sex:
             <select name='user_sex' style="width=100px">
                 <option value='0'>man</option>
                 <option value='1'>woman</option>
             </select>
         </td>
     </tr>
     <tr height='21px'>
         <td>
             Sports hobby:
             <input type="checkbox" name='Sportshobby[]' value="badminton">badminton
             <input type="checkbox" name='Sportshobby[]' value="basketball">basketball
         </td>
         <td>
             <input type="checkbox" name='Sportshobby[]' value="football">football
             <input type="checkbox" name='Sportshobby[]' value="vollyball">vollyball
         </td>
     </tr>
      <tr height='21px'>
         <td>
         </td>
         <td>
             <input type="submit" value="confirm">
         </td>
     </tr>
     </form>
    </table>
    </body>
    </html>

      

    user_info.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>vinson firt php</title>
    <meta name="Generator" content="">
    <meta name="Author" content="czh">
    <meta name="Keywords" content="php date">
    <meta name="Description" content="">
    </head>
    <style>
    .body
     font-size:10pt;
     
     coclor:#000000;
    }
    </style>
    <body class='body'>
    
    <?php 
    if($_POST)
        $name=$_POST['user_name'];
        if($_POST['user_sex']==0)
            $sex="man";
        else 
            $sex="woman";
        $user_insterest="you like:";
        if (isset($_POST['Sportshobby']))//判断元素是否存在
        {
            $v=$_POST['Sportshobby'];//這樣取到的是一個數組,4個checkbox的value
            foreach ($v as $value)//再循環取出
            {
                $user_insterest.=$value."/";    
            }
        }
        $user_insterest=substr($user_insterest, 0,-1);
        echo "your name:".$name."<br>";
        echo "your sex:".$sex."<br>";
        echo $user_insterest;
    ?>
    </body>
    </html>

    vinson
  • 相关阅读:
    LeetCode(287)Find the Duplicate Number
    LeetCode(290) Word Pattern
    LeetCode(205)Isomorphic Strings
    LeetCode(201) Bitwise AND of Numbers Range
    LeetCode(200) Number of Islands
    LeetCode(220) Contains Duplicate III
    LeetCode(219) Contains Duplicate II
    命令行执行Qt程序
    LeetCode(228) Summary Ranges
    redis 的安装和使用记录
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/3040738.html
Copyright © 2020-2023  润新知