Login 的问题
各位好,刚接触PHP,下了一个开放源码的应用程序学习,我看到FORM ACTION指向="{$site_admin}managers/login,可实际上根本就没有这个folder,为什么程序还能完成登陆验证呢,望指教
<form action="{$site_admin}managers/login" method="post">
<table width="100%" border="0" cellpadding="5" cellspacing="0" id="editor">
<tr>
<td width="100" class="title">用户名:</td>
<td width="240" class="content"><input name="username" type="text" id="username" value="{$smarty.post.username|default:$smarty.cookies.managerusername}" size="30" /></td>
<td class="content">
{if $errors.empty_username}<span class="warning">请输入用户名</span>
{elseif $errors.empty_member}<span class="warning">没有这个用户</span>
{elseif $errors.member_locked}<span class="warning">抱歉, 账户被锁</span>
{else}输入管理员账户 (注: 测试账户用户名/密码均为 admin)
{/if}</td>
</tr>
<tr>
<td class="title">密码:</td>
<td class="content"><input name="password" type="password" id="password" value="" size="30" /></td>
<td class="content">
{if $errors.empty_password}<span class="warning">密码不能为空</span>
{elseif $errors.wrong_password}<span class="warning">密码错误</span>
{else}输入登录密码
{/if}</td>
</tr>
<tr class="noline">
<td class="title">验证码:</td>
<td class="content"><input name="number" type="text" size="30" /></td>
<td class="content">
{if $errors.empty_number}<span class="warning">必须输入验证码:</span>
{elseif $errors.wrong_number}<span class="warning">验证码错误, 请重新输入:</span>
{else}请输入此右边四位数字:
{/if}
<img src="{$site_admin}managers/imagenumber" name="imagenumber" width="80" height="20" border="0" align="absmiddle" id="imagenumber" />
</td>
</tr>
</table>
<div class="fr mt10">
<input name="action" type="hidden" id="action" value="login" />
<input type="submit" value="登录" class="btn" />
</div>
</form>
{/if}
[解决办法]
很可能是由
manager.….php 里面的login方法完成验证登陆的
真实情况要查路由分发机制
[解决办法]
这种情况是运用了服务器端的url重写。
通常是这样:MVC模式下,重写到某个入口文件如 根目录/index.php 。然后调用控制器类managers的login方法
[解决办法]
做了伪静态了。
apache .htaccess
[解决办法]
初学者是不能看这种代码的
因为你还没有弄明白网站是怎样工作的
[解决办法]
Smarty。。。无聊。
------解决方案--------------------
买本书先看看在看这些代码
[解决办法]
刚学习还是用这个比较简单的吧。
1.< html>
2.< head>< title>e
3.< /title>
4.< /head>
5.< body>
6.< form action="login.php"
method="POST" >
用户:
1.< input type="text"
name="username">
2.< br>
密码:
1.< input type="password"
name="password">
2.< input type ="Submit"
value ="确定">
3.< input type ="reset"
value ="取消">
4.< /form>
5.< /body>
6.< /html>
----------------conn.php--------------------------
1.< ?php
2.$host='127.0.0.1';
3.$mysql_user='root';
4.$mysql_password='qeephp';
5.$mydb='learn';
6.$link = mysql_connect($host,
$mysql_user , $mysql_password)
7.or die("无法连接数据库: "
. mysql_error());
8.mysql_select_db($mydb);
9.?>
----------------------------login.php------------------
1.< ?
2.$username=$_POST['username'];
3.$password=$_POST['password'];
4.if ($username==""){
5.echo "< script language='javascript'> alert('非法操作!'); location.href= 'index.php'; < /script>";
6.exit;
7.}
8.require_once("conn.php");
9.$sql="SELECT * FROM admin where username='$username'";
10.$result=mysql_query($sql);
11.$row=mysql_fetch_array($result);
12.if ($row['username']==""){
13.echo "< script language='javascript'> alert('用户名有误!'); location.href= 'index.php'; < /script>";
14.exit;
15.}else if ($row['password']!=$password){
16.echo "< script language='javascript'> alert('密码有误!'); location.href='index .php'; < /script>";
17.echo "密码有误";
18.exit;
19.}else{
20.session_start();
21.$_SESSION['user']=$username;
22.echo "< script language='javascript'> alert('登陆成功!'); location.href= 'list.php'; < /script>";
23.}
24.?>
还有验证是否登录的代码:http://www.phpnewer.com/index.php/Dmaq/detail/id/173
[解决办法]
是啊,还是从基础学起吧,smarty不怎么样啊
你看到的地方{$site_admin}managers/login
这应用了模板技术,文字被替换了,看源码找地址
那就是url地址
找一个叫.htaccess的文件,或是apache下的配置
这个是伪静态实现,可以把url导向另外的路径,而不会在乎原url是否真的存在
