我有一个奇怪的,但我确定很简单的登录问题。当我在这里使用我的代码时,会话部分有问题。验证登录信息工作正常,但它不会在成功登录时重定向。如果我注释掉会话信息,它工作正常。这发生在我的 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";
}
?>
如果您需要更多信息,请告诉我