解決済み: この問題の原因となった愚かな間違いがありました。header.php で、$_SESSION["logged"] の代わりに $_SESSION["header"] (これは存在しません) を書きました。ご協力いただきありがとうございます。
正しいログイン情報を入力した後、Login.php はリダイレクトしたくありません。
ページが更新され、入力フィールドがクリアされます。
(また、セッションは /tmp フォルダーに作成されます)
誰にもアイデアはありますか?:S
前もって感謝します!:)
login.php:
<?php
$message = NULL;
if (isset($_POST["enter"])) {
include 'cred.php';
$newUser = $_POST["user"];
$newPass = md5($_POST["pass"]);
if ($newUser==$user AND $newPass==$pass) {
session_start();
$_SESSION["logged"]=1;
$_SESSION["user"]=$newUser;
header('Location: index.php');
exit;
} else {
$message = 'failure';
}
}
?>
<head>
<style type="text/css">
body {
margin-top:120px;
}
</style>
</head>
<body>
<center>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
Uporabnik:<br /> <input type="text" name="user" /><br /><br />
Geslo:<br /> <input type="password" name="pass" /><br /><br />
<input type="submit" value="submit" name="enter"/><br /><br />
<?php if($message!=NULL) {echo $message;} ?>
</form>
</center>
</body>
cred.php:
<?php
$user = 'janeznovak';
$pass= md5('greek123');
?>
編集:すべての (index.php、second.php、second.php) ページの一部である header.php ファイルを追加しました。たぶん問題はここにあります:
<?php
session_start();
if(!isset($_SESSION["header"])OR $_SESSION["header"]!=1){
header('Location: login.php');
exit;
} else {
$nuser = $_SESSION["user"];
}
?>
<head>
</head>
<body>
<div>
<a href="index.php">Prva</a> |
<a href="second.php">Druga</a> |
<a href="third.php">Tretja</a> |
<a href="logout.php">Logout</a> |
Prijavljeni ste kot <?php echo $nuser; ?>
</div>