第101讲 预定义超全局数组①-原理分析 $_POST $_REQUEST

界面:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
    <form method="post" action="101_register2.php">
        用户名:<input type="text" name="username"><br/>
        密  码:<input type="password" name="password"><br/>
        性  别:<input type="radio" name="sex" value="man"><input type="radio" name="sex" value="women"><br/>
        <!--注意checkbox对端全部的话 一定要如下 name 值 加上中括号[] 这样传递过去系统默认处理成数组形式-->
        <input type="checkbox" name="hobby[]" value="洗澡">洗澡
        <input type="checkbox" name="hobby[]" value="唱歌">唱歌
        <input type="checkbox" name="hobby[]" value="骑马">骑马
        <input type="checkbox" name="hobby[]" value="打仗">打仗
        <br/>
        <!-- size 表示展示出几个 multiple 表示可以多选 -->
        <select name="aihao">
            <option value="中文" selected>中文</option>
            <option value="英文">英文</option>
            <option value="日文">日文</option>
        </select>
        <br/>
        <textarea name="intr" rows="10" cols="30">请填写个人详细介绍</textarea>
        <br/>
        <input type="file" name="myphoto" />
        <br/><input type="submit" value="提交">
    </form>
 </body>
</html>

接收:

<?php
    header("content-type:text/html;charset=utf-8");//处理中文乱码
    echo "<pre>";
    echo var_dump($_POST);
    echo "<br/>";
    echo $_REQUEST['sex'];
    echo "</pre>";

?>

效果:
image
image

NOTICE:注意传值能用英文就用英文比如上边性别处 写中文的话对端接收不到还得处理,麻烦

可将接收到的数据存入数据库

<?php
    header("content-type:text/html;charset=utf-8");//处理中文乱码
    echo "<pre>";
    echo var_dump($_POST);
    echo "<br/>";
    //echo json_encode($_POST);//这个直接将接受的数据转化为json串
    if(!empty($_REQUEST['sex'])){
        echo $_REQUEST['sex'];
    }

    echo "</pre>";


    $username = $_POST['username'];
    $pwd = $_POST['password'];
    $sex = $_POST['sex'];
    $hobby = $_POST['hobby'];
    $introduce = implode(",",$hobby);
    //echo "$introduce";
    $aihao = $_POST['aihao'];
    $myphoto = $_POST['myphoto'];
    $mysqli = new MySQLi("localhost",'root','tmdqobn','db100');
    if($mysqli->connect_error){
        echo "数据库连接出错".$mysqli->connect_error;
        return;
    }
    $sql = "insert into user (username,pwd,sex,aihao,introduce,file) VALUES ('$username','$pwd','$sex','$introduce','$aihao','$myphoto')";
    $res = $mysqli->query($sql);
    if(!$res){
        echo "添加失败";
    }else{
        echo "添加成功";
    }
?>

效果:

mysql> select * from user;
+----------+---------+------+-------------------+-----------+--------------+----
+
| username | pwd     | sex  | aihao             | introduce | file         | id
|
+----------+---------+------+-------------------+-----------+--------------+----
+
| root     | tmdqobn | m    | 洗澡,唱歌,骑马,打 | 中文      | 11111111.png |  1
|
+----------+---------+------+-------------------+-----------+--------------+----
+
1 row in set (0.06 sec)

mysql>

POST P O S T 、 _GET区别
1、安全性
2、数据传输大小 get小主要是浏览器限制
3、保存到收藏夹 get方便


$_REQUEST — HTTP Request 变量

说明

默认情况下包含了 GET G E T , _POST 和 $_COOKIE 的数组。

$_REQUEST 可以自由接收上边任意一种
image
注意:官方推荐不要经常使用这个方法,容易受到攻击。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有时有晌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值