我正在尝试使用php创建一个登录页面。我的注册页面已经运行,但登录中有错误。 这是我的第一个档案。
<!DOCTYPE html>
<body>
<body background="sky.jpg"></body>
<div style="text-align: center;">
<div style="box-sizing: border-box; display: inline-block; width: auto; max-width:
480px; background-color: #FFFFFF; border: 2px solid #D4D4D4; border-radius: 5px; box-
shadow: 0px 0px 8px #D4D4D4; margin: 50px auto auto;">
<div style="background: #D4D4D4; border-radius: 5px 5px 0px 0px; padding: 15px;">
<span style="font-family: verdana,arial; color: #D4D4D4; font-size: 1.00em; font-
weight:bold;">HEY REGISTER NOW!</span></div>
<div style="background: ; padding: 15px">
<style type="text/css" scoped>
td { text-align:left; font-family: verdana,arial; color: #000000; font-size:
1.00em; }
input { border: 1px solid #CCCCCC; border-radius: 5px; color: #666666; display:
inline-block; font-size: 1.00em; padding: 5px; width: 100%; }
input[type="button"], input[type="reset"], input[type="submit"] { height: auto;
width: auto; cursor: pointer; box-shadow: 0px 0px 5px #D4D4D4; float: right; margin-
top: 10px; }
table.center { margin-left:auto; margin-right:auto; }
.error { font-family: verdana,arial; color: #000000; font-size: 1.00em; }
</style>
<form name="form1" method="post" action="checklogin.php">
<input type="hidden" name="action" value="login">
<input type="hidden" name="hide" value="">
<table class='center'>
<tr><td>Username:</td><td><input type="text" name="username"></td></tr>
<tr><td>Password:</td><td><input type="password" name="password"></td></tr>
<tr><td> </td><td><input type="submit" value="Enter"></td></tr>
<tr><td colspan=2> </td></tr>
<tr><td colspan=2>Don't have an admin account yet? Click <a
href="Register.php">here</a>!</td></tr>
<tr><td colspan=2>Thank you for using Sentence Scramble and Sequencer</td></tr>
</table>
</form>
</div></div></div>
关注我的checklogin
<?php
// Connect to server and select databse.
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'project';
mysql_connect($server,$username,$password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql="SELECT * FROM 'register' WHERE username='$myusername' and
password='$mypassword'";
echo $sql;
$result=mysql_query($sql,$con);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
最后是login_success的文件
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:index.php");
}
?>
<html>
<body>
Login Successful
</body>
</html>
'myusername'和'mypassword'是来自我的数据库''register'表的变量
答案 0 :(得分:0)
您需要更改表单,以便用户名和密码输入字段与表单处理程序脚本尝试验证的字段相匹配。您的输入字段应如下所示:
<tr><td>Username:</td><td><input type="text" name="myusername"></td></tr>
<tr><td>Password:</td><td><input type="password" name="mypassword"></td></tr>
答案 1 :(得分:0)
您的连接变量未设置。请先设置它。没有启动session_start()。不推荐使用session_register()。
<?php
session_start()
// Connect to server and select databse.
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'project';
$con = mysql_connect($server,$username,$password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql="SELECT * FROM 'register' WHERE username='$myusername' and
password='$mypassword'";
echo $sql;
$result=mysql_query($sql,$con);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;
header("location:login_success.php");
exit;
}
else {
echo "Wrong Username or Password";
}
?>
最后是login_success的文件
<?php
session_start();
if(!isset($_SESSION['myusername'])) {
header("location:index.php");
exit;
}
?>
<html>
<body>
Login Successful
</body>
</html>