0

突然機能しなくなったユーザーログインに問題があります。私は session_start(); を持っています。それを必要とするすべてのページの上部にありますが、私が宣言したセッション変数は、ログインページへの持ち越しを停止したようです.

ログイン ページでリダイレクトと print_r($_SESSION) を無効にすることもできます。これにより、適切な変数が出力されます。

ログインページのコードは次のとおりです。

<? session_start(); ?>
<?php include($_SERVER["DOCUMENT_ROOT"]."/_/includes/head.php"); ?>
<?php 
if (isset($_POST['submitted'])){
            $username = $_POST['username'];
            $password = $_POST['password'];
            function enc($string){
            $salt = "2@xp";
            $hash = sha1(md5($salt.$string)).md5($string).sha1(md5(md5($string)));
            return $hash;
            }
            $pass = enc($password);
            if($username&&$password){

                $query=mysql_query("SELECT * FROM `users` WHERE `username`='$username'");
                $numrows = mysql_num_rows($query);
                if ($numrows!=0){
                    while ($row = mysql_fetch_assoc($query)){
                    $dbusername = $row['username'];
                    $dbpassword = $row['password'];

                    //check to see if they match
                    if ($username==$dbusername&&$pass==$dbpassword){
                    echo ("You're in! <a href='index.php'>Home</a>");
                    $_SESSION['username'] = $dbusername;
                    session_register("username");
                    header("Location: index.php");
                    }
                    else echo ("Incorrect Password");               
                    }
                }
                else header("Location: login.php");

            }
            else echo ('Login Failed');
}

?>

ログイン時にリダイレクトされるページのコードは次のとおりです。

    <?php
    session_start();
    if ($_SESSION['username']){
    echo "<section id='login'><a href='logout.php'>Logout</a></section>";
    $user = $_SESSION['username'];
    }
    else header("Location: login.php");
?>

毎回ログインページに戻されます。どんな助けでも素晴らしいでしょう。ありがとう!

4

1 に答える 1

0

ログイン/登録には、代わりに Cookie を使用することをお勧めします。

http://www.w3schools.com/php/func_http_setcookie.asp

于 2012-07-13T19:15:22.503 に答える