我正在尝试学习如何使用PHP和MySQL创建基本登录系统。我正在学习一门教程(http://www.phpeasystep.com/phptu/6.html),但它没有用。
我测试了它,上一页表单中的输入正常,但它没有重定向到下一页。这是代码。此外,MySQL连接正常,我只是隐藏密码。
<?php
mysql_connect("localhost", "metacano_joe", "************") or die ("cannot connect");
mysql_select_db("metacano_metacanon") or die(mysql_error());
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql = "SELECT * FROM users WHERE username = '$myusername' and password = '$mypassword'";
$result = mysql_query($sql);
$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";
}
?>
答案 0 :(得分:4)
得爱不能发表评论
假设您的代码是正确的,有两种可能性,它不会重定向。
$ count!= 1. Aka用户名密码组合不退出。
您在标题前输出了一些内容。
请记住,在任何实际输出之前必须调用header() 通过普通HTML标记,文件中的空行或PHP发送。 使用include或require读取代码是一个非常常见的错误, 函数或其他文件访问函数,并且有空格或空 调用header()之前输出的行。一样的问题 使用单个PHP / HTML文件时存在。
旁注。停止使用已弃用的函数。请。
另外,你得到任何错误输出吗?
答案 1 :(得分:0)
<?php
mysql_connect("localhost", "metacano_joe", "************") or die ("cannot connect");
mysql_select_db("metacano_metacanon") or die(mysql_error());
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$sql = "SELECT * FROM users WHERE username = '$myusername' and password = '$mypassword'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count>1){
session_start();
$_SESSION['myusername'] = "myusername";
$_SESSION['mypassword'] = "mypassword";
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
我编辑你的脚本,你可以使用$ _SESSION,它对初学者有好处