【问题标题】:Variable $_SESSION does not want to be setted不想设置变量 $_SESSION
【发布时间】:2013-12-25 04:48:28
【问题描述】:

所以这是页面 index.php 的代码:$_SESSION["username"] 变量似乎没有设置,我不知道为什么因为在登录页面中我使用 isset 控件并且如果我登录成功'正在输入正确的值;如果我输入了错误的用户名和密码,则不是。我知道我应该用 md5 “编码”密码,但现在这不是我的问题:( 如您所见,我在登录后重定向到索引页面。如果用户已经登录,我将从索引页面重定向到“home.php”页面。问题是在登录后,它一直显示登录表单并且它没有将我重定向到 home.php。 .

<?php session_start(); 
        require_once "dbConn.php"; dbconnect();
        if(isset($_SESSION["username"])){
        echo $_SESSION["username"]; // TEST it never enters THERE!!!
        echo'<p>Trasferimento alla home page</p>';
    header("Refresh: 2; URL = home.php");
    }

    else{
    echo'<div id=\"container\">';
    echo' 
        <div id=\"content\">
        <h2> You need to login :</h2>
        <br/>
        <form id="form1" name="form1" method="post" action="login.php">
        <input type="text" name="username" id="username" />
        <input type="password" name="password" id="password" />
        <input type="submit" name="accedi" id="accedi" value="Accedi" /> 
        </form>
        <br/>
        </div>';
    include 'Footer.php';
    echo'</div>';
    }?>

这是 login.php 页面:

<?php
require_once "dbConn.php"; dbconnect();
if(isset($_POST['username']) && isset($_POST['password'])) {
    $username=mysql_real_escape_string($_POST['username']);
    $pwd = mysql_real_escape_string($_POST['password']);
    $query = mysql_query("SELECT * FROM user WHERE username='$username' AND password ='$pwd';");  

    if(mysql_num_rows($query) == 1){
    $sessione =mysql_fetch_array($query);
    $_SESSION["username"] = $sessione["username"];  
    echo $_SESSION["username"]; //TEST - it prints what I want: my username
    $_SESSION["logged"] = true;
    echo'Login effettuato con successo!';
    header("Refresh: 2; URL = index.php");
    }
    else if((mysql_num_rows($query) == 0)){
        echo'Utente non registrato o password errata';
        header("Refresh: 2; URL = index.php");
    }
}
?>  

Thx all ;)

【问题讨论】:

    标签: php session login


    【解决方案1】:

    您忘记在登录页面上拨打session_start()

    <?php
    require_once "dbConn.php"; dbconnect();
    

    应该是

    <?php
    session_start()
    require_once "dbConn.php"; dbconnect();
    

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 2012-01-26
      • 2021-11-29
      • 2012-08-30
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多