セッション変数を使用して、ユーザーがログインしているかどうかを確認していますが、初めてログインフォームを送信するとセッション変数が何らかの形で設定解除されますが、ONLYセッション変数が最初に設定されていません
ログインフォームを2回送信すると機能します。
または、ログインするためにフォームを2回送信したとします。ログアウトします。今、私は一度だけでログインするためのフォームを提出する必要が
ここではユーザーのログインに使用してコードイムです。
<?php
session_start();
define('DB_NAME', 'madsanker_dk_db');
define('DB_USER', 'madsanker_dk');
define('DB_PASSWORD', '');
define('DB_HOST', 'mysql43.unoeuro.com');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' .mysqli_error());
}
$db_selected = mysqli_select_db($link, DB_NAME);
if (!$db_selected) {
die('Could not connect: ' .mysqli_connect_error());
}
$username = $_POST['username'];
$password = $_POST['password'];
$username = mysqli_real_escape_string($link,$username);
$password = mysqli_real_escape_string($link,$password);
$password = md5($password);
$sql = "SELECT * FROM mainLogin WHERE username = '$username'";
$result = mysqli_query($link, $sql);
$count=mysqli_num_rows($result);
if($count==1){
$row = mysqli_fetch_assoc($result);
if ($password == $row['password']){
SETTING THE VARIABLE HERE --> $_SESSION['login'] = $username;
echo "<script> window.location.assign('http://www.madsanker.dk'); </script>";
return true;
}
else {
echo "<script> window.location.assign('http://www.madsanker.dk/loginpage'); </script>";
return false;
}
}else{
echo "<script> window.location.assign('http://www.madsanker.dk/loginpage'); </script>";
return false;
}
mysqli_close($link);
?>
私は変数がされていることを確信しています変数をエコーして、それが正しく設定された直後にexit();
を実行すると、最初に設定します。
私はこのようなルックスにリダイレクトしていますページ:私はそれがNULL
最初言う文書の先頭にvar_dump($_SESSION['login']); exit();
を入れた場合でも
<?php
session_start();
$_SESSION['activePage'] = "home";
?>
<!DOCTYPE html>
<html>
<head>
<title>Madsanker</title>
<link rel="stylesheet" href="main.css" name="pageStyle" type="text/css">
<?php include "nav-bar.php"; ?>
</head>
<body>
<h2>Welcome to Madsanker.dk</h2>
<?php include "chatIframe.php" ?>
</body>
</html>
、それが表示する第2の時間ユーザー名を正しく入力してください。
これを約1時間修正しようとしていますが、これがなぜ機能していないのか本当にわかります。
'md5'は、パスワードをハッシュする安全な方法ではありません。 [password_hash]に切り替えることを検討してください(http://stackoverflow.com/questions/14992367/using-php-5-5s-password-hash-and-verify-function-am-i-doing-it-right) – Machavity
ユーザーがログインしているときにjs 'window.location.assign'の代わりにリダイレクトするPHPの' header'関数を使用してください。結果は –