我知道一点点的php-mysql和web编程。对于我的项目工作,我做了一个登录模块,它包含两个页面,但它有一些错误。我使用WAMP进行项目,只要我提供数据并按下登录,它就不会进入profile.php页面,并且会话不会启动。它显示登录按钮后按相同的页面(login.php)最近两天我正在寻找这个错误,但我无法解决它。我的项目有其他几页。这是我的代码。
的login.phpphp登录模块不起作用
<html>
<head>
<link rel="stylesheet" type="text/css" href="text.css" ></link>
<title>Login</title>
</head>
<body>
<div class="container" >
<div id="header" style="text-align: center;" >
<table width="500" align="center">
<tr >
<img src="logo.jpg"/>
</tr>
</table>
</div>
<div>
<table class="form" align="center" style="height:200px;padding-left:30px;float-align:center;margin-left=20px;margin-top:40px;margin-bottom:20px;text-align:;padding-left:20px;">
<form action="loginproc.php" method="POST">
<tr>
<td align="center"colspan="780px" >
<h3 style="font-family:Calibri; font-size: 22pt;font-weight: bold; color:#3B8C8C;text-align: center;">LOGIN</h3></td>
</tr>
<tr>
<td>Email ID</td>
<td><input type="email" name="emailid" maxlength="50" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pwd" /></td>
</tr>
<tr>
<td colspan="3" align="center" style="margin-bottom:20px;">
<input type="submit" name="submit" class="button" value="Login" style="margin-bottom:20px;margin-top:20px;"/>
<input type="reset" name="reset" class="button" value="Reset" style="margin-bottom:20px;margin-top:20px;"/>
</tr>
</form></table></div>
</div>
</body>
</html>
loginproc.php
<?php
if(isset($_REQUEST['submit']))
{
$server="localhost";
$user="root";
$password="";
$db="utility";
$con = mysql_connect($server,$user,$password);
if(!$con)
{
die("Cannot Connect".mysql_error());
}
else
{
if(!mysql_select_db($db,$con))
{
header('Location: login.php');
}
else
{
$email = isset($_POST['emailid'])? $_POST['emailid']:"";
$email = mysql_real_escape_string($email);
$password = isset($_POST['pwd'])? $_POST['pwd']:"";
$password = mysql_real_escape_string($password);
$access = "SELECT * FROM register WHERE (email = '$email') AND (password = '$password')";
$access = mysql_query($access);
$accessrow = mysql_num_rows($access);
if($accessrow == 1)
{
include('session.php');
$_SESSION['email'] = $email;
header('Location: profile.php');
}
else
{
header('Location: home.php');
}
mysql_close($con);
}
}
}
?>
既然你说,它显示“的login.php”,这不是应显示两个页面中的一个,我说你的重定向不工作。这似乎是可能的,如果连接失败(或者如果你的代码是坏的)。 –
雅我有同样的疑问,重定向不起作用,但在注册模块中使用相同样式的代码,并且它完美地工作。代码中的会话管理是否有错误? –
如果用户没有登录,home.php是否会重定向到login.php? –