セッションを作成しましたが、「login.php」に電子メールとパスワードを入力した後、ページは再び「login.php」にリダイレクトされます。次のコードは、電子メールとパスワードの検証をチェックする「login.php」の次のページです。
<?php
$con = mysql_connect("localhost","Rahul","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("ebusiness", $con);
$result=mysql_query("select * from members where Email='$_POST[login]' and Password='$_POST[pwd]' ") or die(mysql_error());
while($row=mysql_fetch_array($result)) {
if(strcmp("trim($_POST[login])","trim($row[Email])"==0 ) && strcmp("trim($_POST[pwd])","trim($row[Password])")==0) {
echo "<meta http-equiv='refresh' content='0.5;url=home.php'/>";
session_start();
$_SESSION['email']=$_POST['login'];
$_SESSION['id']=$row['id'];
echo "<br><br><br>";
echo "<table align='center' border='0' cellspacing='0' cellpadding='0' bgcolor='#F0F0F0'><tr></tr><tr align='center'><td><h3>Please wait...</td></tr></table>";
return;
}
}
mysql_close($con);
?>
「home.php」ページは、検証が成功したときに情報を表示するページです。home.php のコード:
<?php
session_start();
if (!isset($_SESSION['email'])) {
header("Location: login.php");
return;
} else {
$con = mysql_connect("localhost","Rahul","");
mysql_select_db("ebusiness", $con);
$result = mysql_query("SELECT * FROM members WHERE id = $_SESSION[id]") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<table height=100% width=100% border='0' cellspacing='0'><tr height=20%><td colspan=2>";
include 'header.php';
echo "</td></tr>";
}
}
?>
セッションは最初に「welcome.php」で作成され、「home.php」でセッションが存在するかどうかを確認します。次に、「login.php」にリダイレクトします。しかし、私はすでにセッションを作成しているので、home.php が読み込まれない理由がわかりません。助けてください..