0
我查看http://www.phpportalen.net/wiki/index.php?page=Enkel+inloggning+med+MySql+och+sessioner如何做一个简单的登录。简单的登录连接到MySQL - 什么是错的?
但是,当我尝试登录现在它说,用户名或密码是错误的。所以我猜在我的控制文件中有些东西是不正确的,在这里我要检查数据库的用户名和密码。
在检查中,我看着他们都在同一页面,所以即时猜测我需要改变超过我thougt。
这是loginside代码:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if(!isset($_SESSION["sess_user"])){
if(isset($_GET['badlogin'])){
echo "Fel användarnamn eller lösenord, försök igen!";
}
?>
<form method="post" action="check.php">
<p>User</p>
<input name="user" type="text" />
<p>Password</p>
<input name="password" type="text" />
<input name="logIn" type="submit" value="Log in" />
</form>
<?php
}
else{
header("Location: admin.php");
}
?>
</body>
</html>
这是我controlside代码:
<?php
session_start();
?>
<?php
function db_escape($post){
if(is_string($post)){
if(get_magic_quotes_gpc()){
$post = stripslashes($post);
}
return mysqli_real_escape_string($post);
}
foreach($post as $key => $val){
$post[$key] = db_escape($val);
}
return $post;
}
if(isset($_POST["logIn"])){
// Connect to db
$dbConn = mysqli_connect("localhost","sabe0011","lösen","sabe0011");
$dbConn->set_charset("utf8");
// Check connection
if(mysqli_connect_errno($dbConn)){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$_POST = db_escape($_POST);
$checkUserSQL = mysqli_query($dbConn, "SELECT * FROM Users WHERE User ='{$_POST['user']}' AND Password ='{$_POST['password']}'");
if(mysqli_num_rows($checkUserSQL) == 0){
header("Location: login.php?badlogin=");
exit;
}
$_SESSION['sess_id'] = mysqli_store_result($checkUsersSQL, 0);
$_SESSION['sess_user'] = $_POST['user'];
header("Location: admin.php");
exit;
}
?>
我现在试过,但它仍然没有工作= /你有其他什么吗? – user2373312 2013-05-12 17:09:35
你应该尝试你的查询SELECT * FROM Users WHERE User =“youruser”AND Password =“yourpassword”'直接在你的数据库中 – antoox 2013-05-12 17:21:06
我试过了,使用正确的用户和密码即时消息..不幸的是,似乎并不容易解决 – user2373312 2013-05-12 17:30:53