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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
利用PHP制作简单的内容采集器的原理分析
Oct 01 PHP
mayfish 数据入库验证代码
Apr 30 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
四个PHP非常实用的功能
Sep 29 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 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网上调查系统
2006/10/09 PHP
PHP脚本数据库功能详解(下)
2006/10/09 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP内核探索之变量
2015/12/22 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
php实现搜索类封装示例
2016/03/31 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
js自带函数备忘 数组
2006/12/29 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
js form action动态修改方法
2008/11/04 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
JS中操作JSON总结
2020/12/06 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python程序退出方式小结
2017/12/09 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
关于对大人不礼貌的检讨书
2014/09/29 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL