求助:登陆验证怎么做?
啊!!!我不会做登陆验证啊{:soso_e118:}就是比如要进入后台管理页面,你要登录吧?要怎样做啊?在C层写语句调用登陆界面,然后submit到C层的另一个方法,在那个方法里调用M层的函数查询数据库记录,再与post的值进行对比,匹配后传参数回C层的方法里,赋值给session,再跳转到管理界面?这样吗?我下了代码区里facebook的源码,可是看不懂{:soso_e109:} 这个相当基础!POST到C层的同一个方法也可以 写个if语句就行了 你说的思路不是挺正确的吗? 有没有什么示例代码参考啊? 本帖最后由 Flora 于 2012-4-30 21:55 编辑{:soso_e149:}我也觉得很基础,可就是做不出来……
贴代码出来请各路大侠指点一二:
C层:
<?php session_start();
class Show_admin extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper('url');
}
public function index()
{
$this->load->view('admin/admin_logic');
}
public function login(){
if($_POST['name']==""||$_POST['password']==""){
echo "<script>alert('您还没有填写用户名或密码!');history.go(-1);</script>";
}else{
$this->load->model('admin/db_function');
$query = $this->db_function->check_admin($_POST['name'],$_POST['password']);
foreach ( $query as $row)
{
if($row['stu_id']==$_POST['name']&&$row['password']==$_POST['password']){
//echo "this is ".$query;
$_SESSION['userid']=$_POST['name'];
$this->load->view('admin/admin_index');
}
else{
echo "<script>alert('用户名或密码错误!');history.go(-1);</script>";
}
}//end of foreach
}//end of login
}
?>
M层:
<?php
class Db_function extends CI_Model {
function __construct()
{
parent::__construct();
$this->load->database();
mysql_query("SET NAMES GBK"); //防止中文乱码
$this->load->helper('url');
}
function check_admin($name,$password)
{ $query = $this->db->query('SELECT * FROM students where stu_id="$name"');
return $query->result_array();
}
}
?>
V层:admin_logic.php
<html>
<body>
<?php
$this->load->helper('form');
echo form_open('admin/show_admin/login');
?>
<table border="1">
<tr>
<td>用户名</td>
<td><?php $name = array('name' => 'name');
echo form_input($name); ?> </td>
</tr>
<tr>
<td>密码</td>
<td><?php$pwd = array('name' => 'password');
echo form_password($pwd);?></td>
</tr> <tr>
<td> </td>
<td><?php echo form_submit('submit','确认');
?></td>
</tr>
</table>
<?php
echo form_close();?>
</body>
</html>
数据库
students 表
id,stu_id,name,password
不错哦 M层代码中SELECT * FROM students where stu_id="$name"
应该是SELECT * FROM students where name="$name"
对吗? js js Ion Auth 2
http://github.com/benedmunds/CodeIgniter-Ion-Auth
建议页面里的输入验证可以的话都用JS做。。。在提交之前用JS做检测。为什么要提交到代码里用程式判断呢。 我刚刚学会,可以教教你qq406857617
页:
[1]
2