0

login link を含むヘッダーがあるプロジェクトに取り組んでいます。私のプロジェクトには、header.php と header1.php の 2 つのヘッダーがあります。header.php は index.php に含まれ、header1.php はページの残りの部分にあります。

header.php を含む自分のサイト www.example.com にアクセスしてログインすると、ログインしていると表示されますが、サイトの次のページに移動すると、ログインしていると表示されず、次のページに移動しても表示されません。ホームページ(index.php)もログインしていません。

header.php :- index.php 上

    <?php 
        @session_start();
        include_once('functions/config.php');
    ?>

// and some html code

header1.php :- ページの残りの部分

    <?php
        //ob_start();
        @session_start();
        include("$_SERVER[DOCUMENT_ROOT]/functions/config.php");
    ?>

// and some html code

vali.js (検証用) :-

$("#login_frm").validate({
   rules: {
       email: {
           required: true,
           email: true
       },
       pass: {
           required: true,
           minlength: 6
       },
   },
   messages: {
       pass: {
           required: "Please provide a password",
           minlength: "Your password must be at least 6 characters long"
       },
       email: "Please enter email adress"
   },
   submitHandler: function(form) {
       $.post('http://www.example.com/logincheck.php', $("#login_frm").serialize(), function(data) {
           if(data == '1') {
            document.location='http://www.example.com/';
           } else {
        $('#login-error').html('Wrong Username or password');
           }
       });              
    }
});

logincheck.php (セッション セット):-

<?php
    include("functions/config.php");
    include("functions/encript.php");
    ob_start();
    session_start();

    $email = $_POST['email'];

    $pass= encode5t($_POST['pass']);
    $sql = "SELECT * FROM members where email='$email' AND pass='$pass' AND member_status='1' ";
    //echo $sql;

    $row = mysql_query( $sql );
    $count = mysql_num_rows( $row );
    $result = mysql_fetch_assoc($row);
    if($count == 1) {
        $member_id = $result['member_id'];  
        $first_name = $result['first_name'];                                                                
        $creditamount = $result['credit'];
        $_SESSION['memid'] = $member_id;            
    $_SESSION['ufname'] = $first_name;      
        $_SESSION['uemail'] = $email;
        $_SESSION['creditamount'] = $creditamount;      
        //echo "->".$_SESSION['memid'];

        setcookie ("memid", $member_id, (time()+60*60*24*360)); 
        setcookie ("login2", "true", (time()+60*60*24*360));        
        setcookie ("uname", $first_name, (time()+60*60*24*360));
        setcookie ("uemail", $email, (time()+60*60*24*360));
        echo '1';//header("location:index.php");

    } else {
        echo "Wrong Username Or Password";
    }

?>

何が起こっているのかわかりませんが、この問題は 2 回目にログインしたときに初めて発生し、問題はありません。前もって感謝します。

4

2 に答える 2

3

この問題は、以下の理由が原因である可能性があります

ヘッダーと他のファイルで同じ変数名。変数はヘッダーで使用できます

$_SESSION['userid']

変数 $userid は、他のいくつかのファイルで使用されている可能性があります。この問題が解決することがわかった場合、私は思う

于 2012-12-21T10:14:39.743 に答える
0

session_start();それを使用するすべてのページの上部で使用するだけです。

于 2012-12-21T09:23:35.403 に答える