doucheng5209 2012-06-28 20:49
浏览 26

使用SESSIONS进行基本登录[关闭]

I'm having issues with a simple login using php and mysql.

Here is my code:

LOGIN.PHP

 <?php

    //include 'core/init.php';
    include 'functions.php';

    //JH check if user is logged in already
    if (loggedin()) {
        header("location: userarea.php");
        exit();
    }

    if ($_POST['login']) { 
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $remember = $_POST['remember'];
        $password_encrip = hash('md5', $pass);

    if ($user&&$pass) {
        $login = mysql_query("SELECT * FROM users WHERE user='$user'");
        while  ($row = mysql_fetch_assoc($login))   
        $db_pass = $row['pass']; {

        if ($password_encrip==$db_pass) 
            $login_ok = TRUE;
        else 
            $login_ok = FALSE;
        }

        if ($login_ok==TRUE) {

            if ($remember=="on")
                setcookie("user", $user, time()+7200);

            else if ($remember=="")
                $_SESSION['user']=$user;

            header("Location: userarea.php");
            exit();

        } else 
            echo "ERROR: Username/Password combination incorrect!";

        } else 
            die("ERROR: Hit back and enter username and password!");
    }


    ?>

    <form action="login.php" method="POST">
    <b style="font-size:150%;">Log in</b><br/>
    Username: <input type="text" name="user"/><br/>
    Password: <input type="password" name="pass"/><br/>
    <input type="checkbox" name="remember" />Remember me<br/>
    <input type="submit" name="login" value="Log in"/>
    </form>

FUNCTIONS.PHP

  <?php 

    // REPORT ERRORS?
    //error_reporting(E_ALL);

    // SESSIONS CHECK
    session_start();

    //CONNECT TO DATABASE/CONNECT
    mysql_connect("localhost","MYSQL","PASS") or die();
    mysql_select_db('DB') or die();

    // LOGIN CHECK FUNCTION
    function loggedin()
    {
        if (isset($_SESSION['$user']) || isset($_COOKIE['$user']))
        {
            $loggedin = TRUE;
            return $loggedin;
        }
    }


    ?>

USERAREA.PHP

        <?php 

    //include 'core/init.php';
    include 'functions.php';

    //JH check if user is logged in already
    if (!loggedin())
    {
        header("location: login.php");
        exit();
    }

    ?>

    <p>Welcome! You're Logged in</p> <a href="logout.php">Logout</a><br/>


    <?php
        echo "Welcome SESS: ".$_SESSION['user']. "<br/>";
        echo "Welcome Cookie: ".$_COOKIE['user']. "<br/>";
    ?>

Can anyone please help?

  • 写回答

2条回答 默认 最新

  • dpz90118 2012-06-28 20:52
    关注

    At the top of the PHP, put session_start(); (the first page you have posted).

    评论

报告相同问题?

悬赏问题

  • ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序