一个关于html form的问题
本帖最后由 heraldic 于 2009-11-13 11:02 编辑最近在钻研 yinzhili的大作 网上书店的源码,http://codeigniter.org.cn/forums/thread-2708-1-1.html
有个小问题,向大家求教:
在其目录中 views\console\logon.php 中,有这样一段代码:
<form name="consolelogin" id="consolelogin" method="POST" Action="logincheck">
我想问的就是红色标出的部分,一般form action指的是其他网页或者本网页的某个函数过程,请问这里是什么意思? 本帖最后由 yinzhili 于 2009-11-13 10:25 编辑
这里的意思是当前控制器类中有个名叫 logincheck 的函数,用来处理表单。你仔细看看控制器源码就能找到了。
你这里所说的登录表单视图是由 console 控制器加载的,你看一下console控制器的源码(位于system/application/controllers/console.php),里面是不是有个 logincheck 函数?
我这些代码是很久以前写的,有些地方写得不是很规范(比如说有些地方没有写绝对路径),所以不要被我的坏习惯影响了。 好快,没想到作者直接来回复,太感激了
当前控制器,应该是调用这个view的那个吧,我查询了源码,只有这个 Console controller 有调用:
$this->load->view('console/login');
确实,这个Console 里面有logincheck函数,而且也只有这个里面有这个函数
问题是我打开页面:
http://127.0.0.1/bookstore/index.php/console登录以后(确认密码和用户都是你初始的admin没错)
提示:
404 Page Not Found
The page you requested was not found.
这个现象不是固定的,有时候能正常进入后台管理界面的 就像前面说的,这就是我之前的坏习惯,没有写绝对路径。你试着访问一下
http://127.0.0.1/bookstore/index.php/console/ (也就是加上一个斜杠),应该可以。 本帖最后由 heraldic 于 2009-11-13 11:04 编辑
多谢yinzhili(一只梨?)
问题确实如此,解决了
按照你的规范化写法修改为可读性更大的:
<form name="consolelogin" id="consolelogin" method="POST" Action="<?php echo site_url('console/logincheck');?>">
或者直接修改地址:
http://127.0.0.1/bookstore/index.php/console/ 没错,确实应该用绝对路径,也就是用 site_url()
页:
[1]