2011-07-11 6 views
1

ログインPHPスクリプトに問題があります。スクリプトを使用すると、一度だけログアウトすることができます。ログアウトすると再びログインできません。私はそれが構文のinterms罰金だを見て、ここに私のコードあなたのログアウト・スクリプトでPHPスクリプトでは1回のログインのみが許可されます。

session_start(); 
    if(isset($_POST['submit']))//if the user is not logged in see if they have submited log  in data 
    { 
    $labels = array("username" =>"username", "password" =>"password"); 
    //connect to the database 
    $databaseconnect = mysql_connect($dbConnectParams['DBhost'], 
             $dbConnectParams['DBuser'], 
            $dbConnectParams['DBpassword']) or die("could not connect to database server."); 
            mysql_select_db($dbConnectParams['DBdatabase']) or die("could not connect to the database\n".mysql_error()); 
    /*collect user entered log-in data from the submited form*/ 
     $username = mysql_real_escape_string(trim($_POST['username'])); 
     $password = mysql_real_escape_string(trim($_POST['password'])); 
     if(!empty($username) && !empty($password)){ 
     /* 
     look up the user name and password in the database*/ 
     $query ="select username, password from customer where username ='$username' and password = sha1('$password')"; 
     $result = mysql_query($query) or die("could not execute select query on "); 
      if(mysql_num_rows($result)==1){ 
       /* 
       the log in is ok, username and password exist in database, 
       so set the username and password cookies and redirect to home page. 
       */ 
       $row = mysql_fetch_array($result); 
       $_SESSION['username'] = $row['username']; 
       $_SESSION['password'] = $row['password']; 

       setcookie('username', $row['username'], time()+ (60 * 60)); 
       setcookie('password', $row['password'], time()+ (60 * 60)); 
       header("Location:../index.php"); 

        } 

        } 



       elseif(empty($username) && empty($password)){ 
        //username and password incorrect , so set the error message 
        $error_msg .= 'sorry username and password required to log in'; 
        echo "$error_msg"; 

       mysql_close($databaseconnect); 
       } 
       else{ 
       //username and password incorrect , so set the error message 
        $error_msg .= 'sorry you must enter valid username and password to log in'; 
        echo "$error_msg"; 
       } 


     } 



    } 

答えて

1

、あなたのセッションとクッキーVARSをクリアする必要がありますのサンプルです。

+0

私のPHPスクリプトから次のコード行を削除しても機能しましたが、このコードがどのように問題を引き起こしているのか分かりません。 $ labels = array( "username" => "username"、 "password" => "password"); – sareeye

+0

私はそれを理解していません。なぜなら、指定されたスクリプトのどこでもその配列を使用しないからです。 – Trevor

関連する問題