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 面向对象详解
Sep 13 PHP
基于php-fpm的配置详解
Jun 03 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
PHP中if和or运行效率对比
Dec 12 PHP
PHP扩展开发入门教程
Feb 26 PHP
教大家制作简单的php日历
Nov 17 PHP
PHP.vs.JAVA
Apr 29 PHP
PHP读取大文件末尾N行的高效方法推荐
Jun 03 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
Dec 02 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
PHP实现文件上传功能实例代码
May 18 PHP
PHP操作Redis数据库常用方法示例
Aug 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面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
原生js实现放大镜
2017/02/20 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
Python之os操作方法(详解)
2017/06/15 Python
python3爬虫之设计签名小程序
2018/06/19 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
Python with标签使用方法解析
2020/01/17 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
.net开发工程师面试题
2014/02/25 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
大学生村官工作感言
2014/01/10 职场文书
《掌声》教学反思
2014/02/23 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python