麻烦登录页面? [英] Trouble making login page?
本文介绍了麻烦登录页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
好的,所以我想创建一个简单的登录页面.我已经成功创建了一个注册页面,但是无法登录.
Okay, so I want to make a simple login page. I've created a register page successfully, but i can't get the login thing down.
login.php:
login.php:
<?php
session_start();
include("mainmenu.php");
$usrname = mysql_real_escape_string($_POST['usrname']);
$password = md5($_POST['password']);
$con = mysql_connect("localhost", "root", "g00dfor@boy");
if(!$con){
die(mysql_error());
}
mysql_select_db("users", $con) or die(mysql_error());
$login = "SELECT * FROM `users` WHERE (usrname = '$usrname' AND password = '$password')";
$result = mysql_query($login);
if(mysql_num_rows($result) == 1 {
$_SESSION = true;
header('Location: indexlogin.php');
}
else {
echo = "Wrong username or password." ;
}
?>
indexlogin.php仅回显登录成功".我究竟做错了什么? 哦,仅供参考-我的数据库是用户",而我的表是数据".
indexlogin.php just echoes "Login successful." What am I doing wrong? Oh, and just FYI- my database is "users" and my table is "data".
推荐答案
<?php
session_start();
include("mainmenu.php");
$usrname = mysql_real_escape_string($_POST['usrname']);
$password = md5($_POST['password']);
$con = mysql_connect("localhost", "root", "g00dfor@boy");
if (!$con) {
die(mysql_error());
}
mysql_select_db("users", $con) or die(mysql_error());
$login = "SELECT * FROM `users` WHERE (usrname = '$usrname' AND password = '$password')";
$result = mysql_query($login);
if (mysql_num_rows($result) == 1) {
$_SESSION['logged_in'] = true;
header('Location: indexlogin.php');
exit;
} else {
echo "Wrong username or password.";
}
?>
-
我添加了mysql_real_escape_string()
以防止 SQL 固定为echo "Wrong username or password.";
- 我在
mysql_num_rows($result) == 1
附近添加了一个右括号. I addedmysql_real_escape_string()
to prevent SQL injection.
No, I didn't because you already had it.- I cleaned up the formatting of the code a bit.
- I changed
$_SESSION = true;
(which doesn't make sense) into$_SESSION['logged_in'] = true;
. Then, inindexlogin.php
you can do something likeif ($_SESSION['logged_in']) { echo $secret; }
- I fixed
echo = "Wrong username or password.";
toecho "Wrong username or password.";
- I added a closing bracket near
mysql_num_rows($result) == 1
.
您说:
我的数据库是用户",我的表是 数据".
my database is "users" and my table is "data".
如果正确,则需要将SELECT * FROM users
更改为SELECT * FROM data
.
If this is correct, you will need to change SELECT * FROM users
to SELECT * FROM data
.
这篇关于麻烦登录页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文