私には奇妙な問題がありますが、確かに単純なログインの問題です。ここでコードを使用すると、セッションセクションに問題が発生します。ログイン情報の検証は正常に機能しますが、ログインが成功してもリダイレクトされません。セッション情報をコメントアウトすると、正常に機能します。これは、process-login.phpページとsuccess.phpページの両方で発生します。どんな考えでもいただければ幸いです。
前もって感謝します。
これが私のログインページです:
<form action="process-login.php" method="post">
<fieldset>
<legend>Login Form</legend>
<label for="username">Username:</label>
<input type="text" id="username" name="username" />
<label for="password">Password:</label>
<input type="password" id="password" name="password" />
<button type="submit">Send</button>
</fieldset>
</form>
これが私のプロセスログインページです:
<?php
ob_start();
// Set form data as variables
$myusername=$_POST['username'];
$mypassword=$_POST['password'];
// DB login
$host="localhost";
$username="root";
$password="pass1";
$db_name="contact";
$tbl_name="users";
// Open database connection
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Query with data
$query="SELECT * from $tbl_name where username='$myusername'
and password='$mypassword'";
$result=mysql_query($query);
// Check for entry
$count=mysql_num_rows($result);
// If it matches register and send on
if($count==1){
session_start("username");
session_start("password");
header("location:success.php");
}
else {
echo "Wrong!";
}
ob_end_flush();
?>
そして最後に、これが私の成功ページです:
<?php
session_start();
if(!isset($_SESSION['username'])){
header("location:login.php");
}
else
{
echo "Welcome";
}
?>
さらに詳しい情報が必要な場合はお知らせください