2016.06.29
1.问题描述
今天用thinkphp做一个用户登录和注册界面,在提交表单时action属性不知如何填写
注:我使用的是ThinkPHP3.2.3版本 不同版本应该会有差异
2.解决过程
方法1):localhost/..../index.php/模块/控制器/方法/参数....
即使用完整的URL地址,指向你要提交至哪里。因为刚开始不知道怎么做所以就使用了这种最笨拙的方法。。。。
方法2):{:U('模块/控制器/方法/参数')}
U方法是ThinkP内置的一个构造URL的方法。具体使用详解参照ThinkPHP开发手册。
方法3):__MODULE__/控制器/方法/参数,
__CONTROLLER__/方法/参数,
__ACTION__/参数,
即使用系统常量来简化地址,ThinkPHP提供了很多系统常量来保存当前的URL地址,
1、对ASP内核代码进行DLL封装,从而大大提高了用户的访问速度和安全性;2、采用后台生成HTML网页的格式,使程序访问速度得到进一步的提升;3、用户可发展下级会员并在下级购买商品时获得差额利润;4、全新模板选择功能;5、后台增加磁盘绑定功能;6、后台增加库存查询功能;7、后台增加财务统计功能;8、后台面值类型批量设定;9、后台财务曲线报表显示;10、完善订单功能;11、对所有传输的字符串进行安全
比如:__ROOT__ 网站根目录地址
立即学习“PHP免费学习笔记(深入)”;
__APP__ 当前应用(入口文件)地址
__MODULE__ 当前模块的URL地址
__CONTROLLER__ 当前控制器的URL地址
__ACTION__ 当前操作的URL地址
__SELF__ 当前URL地址
3.总结
一般提交表单只需写明提交至哪个php文件,写出这个文件地址即可。但是使用ThinkPHP时提交表单要写明提交至哪个模块的哪个控制器的哪个方法,或是index.php这种默认有控制器和方法的文件,否则就会出错。
另外在网上查询解决办法时发现,几乎我查到的所有的回答都是使用__RUL__/方法/参数,然后查询ThinkPHP3.2.3手册发现并没有__URL__这个系统常量。经过自己的测试发现__RUL__ 等同于__CONTROLLER__ 即当前控制器的地址。
网上查询的很多办法都是之前版本的方法,本菜鸟刚入门只用过最新的版本,网上查的时候总是一脸懵逼啊。在使用中还是应该注意版本,信息的时效性好重要。
以上就介绍了 3使用ThinkPHP时表单action提交地址的格式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










