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应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
PHP中的事务使用实例
May 26 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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 mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
js对象的复制继承实例
2015/01/10 Javascript
AngularJS内置指令
2015/02/04 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
django中静态文件配置static的方法
2018/05/20 Python
如何使用python切换hosts文件
2020/04/29 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
高级3D打印市场:Gambody
2019/12/26 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
Python图片验证码降噪和8邻域降噪
2021/08/30 Python