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中几种常见安全设置详解
Apr 06 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
PHP的命令行命令使用指南
Aug 18 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
Yii多表联合查询操作详解
Jun 02 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
PHP中->和=>的意思
Mar 31 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
vue的mixins属性详解
2018/03/14 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python重新加载模块的实现方法
2018/10/16 Python
python读取xlsx的方法
2018/12/25 Python
浅析Django中关于session的使用
2019/12/30 Python
python读取与处理netcdf数据方式
2020/02/14 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Python远程方法调用实现过程解析
2020/07/28 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
区域销售经理岗位职责
2013/12/10 职场文书
个人现实表现材料
2014/02/04 职场文书
小学中秋节活动方案
2014/02/06 职场文书
学习之星事迹材料
2014/05/17 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
Python下opencv库的安装过程及问题汇总
2021/06/11 Python