douzhuangna6906 2013-08-23 13:26
浏览 26
已采纳

管理员登录 - $ _SESSION未正确定义

How do I define my $_SESSION['amyusername']; and $_SESSION['amypassword']; properly?

Full code:

$host = "localhost";
$username = "root";
$password = "";
$db_name = "login";
$tbl_name = "medlemmer";

if ($_POST['amyusername'] && $_POST['amypassword']) {
    //Opret forbindelse til Databasen via MySQL.
    mysql_connect("$host", "$username", "$password") or die ("Kunne ikke oprette forbindelse til databasen!");
    mysql_select_db("$db_name");

        $amyusername = mysql_real_escape_string($_POST['amyusername']);
        $amypassword = mysql_real_escape_string($_POST['amypassword']);
        $amypassword = md5($amypassword);


    $sql = "SELECT * FROM $tbl_name WHERE Brugernavn = '$amyusername' AND Password = '$amypassword' ";
    $result = mysql_query($sql);    
    $count = mysql_num_rows($result);

    if ($count == 1) {
        while($row = mysql_fetch_array($result)) {

            if($row["Rank"] == "C") {
            $_SESSION['amyusername'];
            $_SESSION['amypassword'];
            header("Location: admin_success.php");
            }
            else {
                echo "Du er ikke Admin!";
                header("refresh: 3, admin.php");
            }
        }
    }
    else {
        echo "Indtast et gyldig ADMIN login";
        header("refresh: 3, admin.php");
    }


} 
else {
    echo "Du skal indtaste et brugernavn og password!";
    header("refresh: 3, admin.php");

}


?>

Where the code isn't defined properly:

if($row["Rank"] == "C") {
   $_SESSION['amyusername'];
   $_SESSION['amypassword'];
   header("Location: admin_success.php");
}

It just passes through and lets everybody in no matter if they are admin or nor. I've tried for 3 hours getting it to work. It might be because $SESSION['amyusername']; and $SESSION['amypassword']; is not defined properly or what? I do not know what I should do.

  • 写回答

2条回答 默认 最新

  • dporu02280 2013-08-25 09:33
    关注
    $sql = "SELECT * FROM $tbl_name WHERE Brugernavn = '$amyusername' AND Password = '$amypassword' ";
    $result = mysql_query($sql);    
    $count = mysql_num_rows($result);
    $row = mysql_fetch_array($result);
    
    if ($count == 1) {
        if($row["Rank"] == "C") {
            $_SESSION['amyusername'] = "$amyusername";
            header("Location: admin_success.php");
        }
        else {
            echo "Du er ikke Admin!";
            header("refresh: 3, admin.php");
        }
    }
    else {
        echo "Indtast et gyldig ADMIN login";
        header("refresh: 3, admin.php");
    }
    

    This fixed my problem!!

    $_SESSION['amyusername'] = "$amyusername";
    

    By defining the $_SESSION properly... I'm so dumb.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了