提交表单时action属性



1.问题描述


今天用ThinkPHP做一个用户登录和注册界面,在提交表单时action属性不知如何填写

注:我使用的是ThinkPHP3.2.3版本 不同版本应该会有差异


2.解决过程


方法1):localhost/..../index.php/模块/控制器/方法/参数....
即使用完整的URL地址,指向你要提交至哪里。因为刚开始不知道怎么做所以就使用了这种最笨拙的方法。。。。

方法2):{:U('模块/控制器/方法/参数')}
U方法是ThinkP内置的一个构造URL的方法。具体使用详解参照ThinkPHP开发手册。


方法3):__MODULE__/控制器/方法/参数,
__CONTROLLER__/方法/参数,
__ACTION__/参数,

即使用系统常量来简化地址,ThinkPHP提供了很多系统常量来保存当前的URL地址,

比如: __ROOT__ 网站根目录地址

__APP__ 当前应用(入口文件)地址

__MODULE__ 当前模块的URL地址

__CONTROLLER__ 当前控制器的URL地址

__ACTION__ 当前操作的URL地址

__SELF__ 当前URL地址

3.总结

一般提交表单只需写明提交至哪个php文件,写出这个文件地址即可。但是使用ThinkPHP时提交表单要写明提交至哪个模块的哪个控制器的哪个方法,或是index.php这种默认有控制器和方法的文件,否则就会出错。


另外在网上查询解决办法时发现,几乎我查到的所有的回答都是使用__RUL__/方法/参数,然后查询ThinkPHP3.2.3手册发现并没有__URL__这个系统常量。经过自己的测试发现__RUL__ 等同于__CONTROLLER__ 即当前控制器的地址。

1.问题描述


今天用ThinkPHP做一个用户登录和注册界面,在提交表单时action属性不知如何填写

注:我使用的是ThinkPHP3.2.3版本 不同版本应该会有差异


2.解决过程


方法1):localhost/..../index.php/模块/控制器/方法/参数....
即使用完整的URL地址,指向你要提交至哪里。因为刚开始不知道怎么做所以就使用了这种最笨拙的方法。。。。

方法2):{:U('模块/控制器/方法/参数')}
U方法是ThinkP内置的一个构造URL的方法。具体使用详解参照ThinkPHP开发手册。


方法3):__MODULE__/控制器/方法/参数,
__CONTROLLER__/方法/参数,
__ACTION__/参数,

即使用系统常量来简化地址,ThinkPHP提供了很多系统常量来保存当前的URL地址,

比如: __ROOT__ 网站根目录地址

__APP__ 当前应用(入口文件)地址

__MODULE__ 当前模块的URL地址

__CONTROLLER__ 当前控制器的URL地址

__ACTION__ 当前操作的URL地址

__SELF__ 当前URL地址

3.总结

一般提交表单只需写明提交至哪个php文件,写出这个文件地址即可。但是使用ThinkPHP时提交表单要写明提交至哪个模块的哪个控制器的哪个方法,或是index.php这种默认有控制器和方法的文件,否则就会出错。


另外在网上查询解决办法时发现,几乎我查到的所有的回答都是使用__RUL__/方法/参数,然后查询ThinkPHP3.2.3手册发现并没有__URL__这个系统常量。经过自己的测试发现__RUL__ 等同于__CONTROLLER__ 即当前控制器的地址。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值