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 相关文章推荐
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
php Calender(日历)代码分享
Jan 03 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
php 中self,this的区别和操作方法实例分析
Nov 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之第四天
2006/10/09 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python处理PDF与CDF实例
2020/02/26 Python
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
查询优化的一般准则有哪些
2015/03/08 面试题
书法比赛获奖感言
2014/02/10 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
心得体会格式及范文
2016/01/25 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
Python基础详解之邮件处理
2021/04/28 Python
Java 数组内置函数toArray详解
2021/06/28 Java/Android