douchenchepan6465 2012-12-03 11:38
浏览 29
已采纳

PHP会话(登录页面和用户页面)

I need to create a session on index page if user already login in, it will header to member page. if user destroy session, it will stay at index(login page)

what i did is

if(session_start){
    header("location:member.php") or die();
}

if(isset($_POST['email']) && isset($_POST['password'])){



$email=strtolower($_POST['email']);
    $password=md5($_POST['password']);



if($email && $password){
        $connect=mysql_connect("localhost", "root", "");
        $database=mysql_select_db("phplogin", $connect);



$SQL=mysql_query("SELECT * FROM users WHERE email='$email'");
        $numrows=mysql_num_rows($SQL);



if($numrows!=0){
            while($result=mysql_fetch_assoc($SQL)){
                $db_email=$result['email'];
                $db_password=$result['password'];
                $db_firstname=$result['firstname'];
                $db_lastname=$result['lastname'];
                }
            }
        else{
            die("Can't find the user");
            }



if($email==$db_email && $password==$db_password){
            session_start();
            $_SESSION['firstname']=$db_firstname;
            $_SESSION['lastname']=$db_lastname;
            header("location:member.php");
            }   
        else{   
            die("wrong username or password");
            }
        }
    else{die("Please enter email or password");}
    }

This works when user haven't destroy session, but when user destroy session it didn't stay at index page

I need something like facebook, yet I don't know how facebook can share same the domain name on login page and user page.

so everytime i type facebook.com i will go to my user page, if i logout, it will become login page

  • 写回答

3条回答 默认 最新

  • dongqin1167 2012-12-03 11:58
    关注

    You have used if(session_start). session_start() is a function. And it is used on each and every page. So it will redirect you everytime.

    Another thing, you need to session_start() on the page you are storing the session and the page you are getting session values.

    Instead of:

    if(session_start){
        header("location:member.php") or die();
    }  
    

    Use:

    session_start();
    if(isset($_SESSION['firstname']) && isset($_SESSION['lastname'])){
        header('location:member.php');
    }
    //and REMOVE session_start(); from where you have written.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题