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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
如何把PHP转成EXE文件
Oct 09 PHP
自动生成文章摘要的代码[PHP 版本]
Mar 20 PHP
PHP 防恶意刷新实现代码
May 16 PHP
PHP number_format() 函数定义和用法
Jun 01 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
js实现微信聊天效果
2020/08/09 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python处理PHP数组文本文件实例
2014/09/18 Python
Python callable()函数用法实例分析
2018/03/17 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
python判断完全平方数的方法
2018/11/13 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
小班下学期评语
2014/05/04 职场文书
实践论读书笔记
2015/06/29 职场文书
初中政治教学工作总结
2015/08/13 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸
Oracle数据库事务的开启与结束详解
2022/06/25 Oracle