zoukankan      html  css  js  c++  java
  • php 登陆验证

    前台js验证,使用ci框架可以直接使用封装好的验证方式,这里可能配置有问题,报 找不到方法的错误,自己没能解决。。 转换思路使用 js 验证,严格来说在ci 框架里不是很规范。

    function login(){

    var username = $("#un").val();
    username=Trim(username);
    var password = $("#pw").val();
    if(username !=""&& password!=""){
    document.getElementById('ms').innerHTML="";
    document.form_login.action = "<?php echo site_url('form/index');?>";
    document.form_login.submit();
    }else{
    var a = "<span style='color:red'>用户名或密码不能为空!</span>";
    document.getElementById('ms').innerHTML=a;
    // alert("用户名或者密码不能为空!");
    }
    }
    //去除空格
    function Trim(str)
    {
    return str.replace(/(^s*)|(s*$)/g, "");
    }

    controller :
    class Form extends CI_Controller
    {
    public function index()
    {
    $this->load->helper('form');
    $this->load->helper('url');
    //$this->load->helper(array('form', 'url'));
    $this->load->library('form_validation');
    //设置表单验证规则
    $this->form_validation->set_rules('username', '用户名', 'required');
    $this->form_validation->set_rules('password', '密码', 'required',
    array('required' => 'You must provide a %s.')
    );

    if ($this->form_validation->run() == FALSE) {

    $this->load->view('login');

    } else {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $con = mysqli_connect("10.10.0.65", "root","root","desktop") //选择数据库之前需要先连接数据库服务器
    or die("数据库服务器连接失败");

    $query = @mysqli_query($con,"select username, userflag from t_user "
    ."where username = '$username' and password = '$password'")
    or die("SQL语句执行失败");
    //判断用户是否存在,密码是否正确
    if($row = mysqli_fetch_array($query))
    {
    session_start(); //标志Session的开始
    //判断用户的权限信息是否有效,如果为1或0则说明有效
    if($row['userflag'] == 1 or $row['userflag'] == 0)
    {
    $_SESSION['username'] = $row['username'];
    $_SESSION['userflag'] = $row['userflag'];
    //域名重定向
    redirect('welcome/index');
    //$this->load->view('index');
    //header("Location:index");
    //确保重定向后,后续代码不会被执行
    exit;
    //echo "<a href="main.php" mce_href="main.php">欢迎登录,点击此处进入欢迎界面</a>";
    }
    else
    //如果权限信息无效输出错误信息
    {
    echo "用户权限信息不正确";
    }
    }
    else
    //如果用户名和密码不正确,则输出错误
    {
    echo "<script language=javascript>alert('用户名或密码错误!');history.back();</script>";
    // redirect('welcome/login');
    // $this->load->view('login');
    // echo "用户名或密码错误";
    }
    //echo $username,$password;

    }
    }

    麻痹。贴出来才发现 这块还是不规范,不需要再次连接数据库,但是 。。先实现功能再说吧


    页面上验证 是否是登陆用户,否则要求重新登陆
    <?php
    session_start();
    if(isset($_SESSION['username']))
    {
    // if($_SESSION['userflag'] == 1)
    // //$log_name = $_SESSION['username'];
    // //echo "欢迎管理员".$_SESSION['username']."登陆";
    // //echo "<script language=JavaScript> welcome()</script>";
    // if($_SESSION['userflag'] == 0)
    // //echo "欢迎用户".$_SESSION['username']."登陆";
    }
    else
    {
    echo "<script language=javascript>alert('登陆已超时,请重新登陆!');</script>";
    // header("Location:login");
    $this->load->view('login');
    exit () ;
    //redirect('welcome/login');

    }
    ?>
  • 相关阅读:
    蓝桥杯训练 | 二分和前缀和 | 02
    广西师大数据结构 | 2015年真题 | 02
    广西师大数据结构 | 2014年真题 | 01
    Centos添加开机自启项
    SUSE系统添加开机自启项
    LNMP
    源码编译安装 libiconv-1.14(php依赖)
    lnmp
    centos添加epel源
    系统挂在镜像
  • 原文地址:https://www.cnblogs.com/helloworld8080/p/5895139.html
Copyright © 2011-2022 走看看