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";
}
}
}
私のPHPスクリプトから次のコード行を削除しても機能しましたが、このコードがどのように問題を引き起こしているのか分かりません。 $ labels = array( "username" => "username"、 "password" => "password"); – sareeye
私はそれを理解していません。なぜなら、指定されたスクリプトのどこでもその配列を使用しないからです。 – Trevor