PHP 表单提交给自己


Posted in PHP onJuly 24, 2008

在大部分情况下我们指定另外一个来处理表单内容的URL地址给Action属性,但也有部分情况是需要将表单数据提交给自己的。这时候我们应该如何指定Action属性值呢?
<?php
if (isset($_POST['action']) && $_POST['action'] == 'submitted') {
    print '<pre>';

    print_r($_POST);
    print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>';

    print '</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Name:  <input type="text" name="personal[name]"><br>
    Email: <input type="text" name="personal[email]"><br>
    Beer: <br>
    <select multiple name="beer[]">
        <option value="warthog">Warthog
        <option value="guinness">Guinness
    </select><br>
    <input type="hidden" name="action" value="submitted">
    <input type="submit" name="submit" value="submit me!">
</form>
<?php
}
?> 
         上面的代码就实现了将表单提交给自己(注:在PHP4.1.0之前的版本请使用$_HTTP_POST_VARS替代下面代码中的$_Post变量)。这里使用了服务器变量$_Server获取当前页面的URL地址,并将其赋给表单的Action属性。这里使用了一个小小的技巧用以服务器在收到该URL请求是确定是POST请求还是GET请求。就是在表单中增加一个隐藏的变量,在处理请求时我们通过isset函数检测是否设置了这个隐藏变量,由此判断出该请求使用了POST还是GET方法。

PHP 相关文章推荐
一个简单的PHP入门源程序
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 PHP
yii框架使用分页的方法分析
Jul 25 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 #PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 #PHP
使用PHP socke 向指定页面提交数据
Jul 23 #PHP
php sprintf()函数让你的sql操作更安全
Jul 23 #PHP
PHP版自动生成文章摘要
Jul 23 #PHP
php array_merge下进行数组合并的代码
Jul 22 #PHP
用php过滤危险html代码的函数
Jul 22 #PHP
You might like
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
js密码强度检测
2016/01/07 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
详解node.js 事件循环
2020/07/22 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python编程实现归并排序
2017/04/14 Python
Python随机读取文件实现实例
2017/05/25 Python
用pycharm开发django项目示例代码
2018/10/24 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Django中的cookie和session
2019/08/27 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
开业庆典邀请函
2014/01/08 职场文书
四年级评语大全
2014/04/21 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
病危通知单
2015/04/17 职场文书
故意杀人案辩护词
2015/05/21 职场文书
跳高加油稿
2015/07/21 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang