php中服务器接受数据的三种方式案例与代码教程
通过名字获取名字对应的值
- $_POST:数组类型,保存的POST提交的值
- $_GET:数组类型,保存的GET提交的值
- $_REQUEST:数组类型,保存的GET和POST提交的值
复制代码例题: HTML页面 - <body>
- <!--表单提交数据-->
- <form method="get" action="./2-demo2.php">
- 语文: <input type="text" name="ch"> <br />
- 数学: <input type="text" name="math"> <br />
- <input type="submit" name="button" value="提交"> <br><br>
- </form>
- <!--超链接提交数据-->
- <a href="2-demo2.php?ch=77&math=88">跳转</a> <br><br>
- <!--js提交数据-->
- <input type="button" value="点击" onclick="location.href='2-demo2.php?ch=66&math=55'"> <br><br>
- <input type="button" value="点击" onclick="location.assign('2-demo2.php?ch=11&math=22')">
- </body>
复制代码PHP页面
- <?php
- //post数组中不为空
- if(!empty($_POST)) {
- echo '这是post提交的数据<br>';
- echo '语文:'.$_POST['ch'],'<br>';
- echo '数学:'.$_POST['math'],'<br>';
- }
- echo '<hr>';
- //获取get提交的数据
- if(!empty($_GET)){
- echo '这是get提交的数据<br>';
- echo '语文:'.$_GET['ch'],'<br>';
- echo '数学:'.$_GET['math'],'<br>';
- }
- echo '<hr>';
- //既能获取get又能获取post提交的数据
- echo $_REQUEST['ch'],'<br>';
- echo $_REQUEST['math'];
复制代码思考题 在一个请求中,既有get又有post,get和post传递的名字是一样的,这时候通过$_REQUET获取的数据是什么? 答:结果取决于配置文件 - request_order = "GP" # 先获取GET,在获取POST值
复制代码例题
- <?php
- if(!empty($_POST)){
- echo '姓名:'.$_REQUEST['username'],'<br>';
- }
- ?>
- <form method="post" action="?username=berry">
- 姓名: <input type="text" name="username"><br />
- <input type="submit" name="button" value="提交">
- </form>
- 分析:先获取GET的username,再获取post的username,后面的将前面的值覆盖
复制代码小结: 1、在开发的时候,如果明确是post提交就使用$_POST获取,如果明确get提交就用$_GET获取 2、request获取效率低,尽可能不要使用,除非提交的类型不确定的情况下才使用。
|