php登录错误用户名和密码丢失
我的登录页面有问题,有人能帮我解决这个错误吗?下面是登录页面的代码,当我按下登录按钮时,显示用户名丢失,密码丢失。有人能帮我解决这个错误吗?问题出在哪里?出在哪里?谢谢php登录错误用户名和密码丢失,php,mysql,Php,Mysql,我的登录页面有问题,有人能帮我解决这个错误吗?下面是登录页面的代码,当我按下登录按钮时,显示用户名丢失,密码丢失。有人能帮我解决这个错误吗?问题出在哪里?出在哪里?谢谢 <?php //Start session session_start(); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = fals
<?php
//Start session
session_start();
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysqli_connect('localhost','root',"");
if(!$link) {
die('Failed to connect to server: ' . mysqli_error());
}
//Select database
$db = mysqli_select_db($link, 'sales');
if(!$db) {
die("Unable to select database");
}
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysqli_real_escape_string($str);
}
//Sanitize the POST values
$login = clean($_POST['username']);
$password = clean($_POST['password']);
//Input Validations
if($login == '') {
$errmsg_arr[] = 'Username missing';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'Password missing';
$errflag = true;
}
//If there are input validations, redirect back to the login form
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: index.php");
exit();
}
//Create query
$qry="SELECT username,password FROM 'user' WHERE username='$login' AND password='$password'";
$result=mysqli_query($qry);
//Check whether the query was successful or not
if($result) {
if(mysqli_num_rows($result) > 0) {
//Login Successful
session_regenerate_id();
$member = mysqli_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['id'];
$_SESSION['SESS_FIRST_NAME'] = $member['name'];
$_SESSION['SESS_LAST_NAME'] = $member['position'];
//$_SESSION['SESS_PRO_PIC'] = $member['profImage'];
session_write_close();
header("location: main/index.php");
exit();
}else {
//Login failed
header("location: index.php");
exit();
}
}else {
die("Query failed");
}
?>
这是索引页
销售时点情报系统
身体{
填充顶部:60px;
填充底部:40px;
}
.侧边栏导航{
填充:9px0;
}
艾瑞克药房
登录
我找到了解决方案。
问题是我删除了下面的代码
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysqli_real_escape_string($str);
}
我添加了以下代码:
$login = $_POST['username'] = filter_var($_POST['username'], FILTER_SANITIZE_EMAIL);
$password = $_POST['password'] = filter_var($_POST['password'], FILTER_SANITIZE_STRING);
还删除了代码:
$login = clean($_POST['username']);
$password = clean($_POST['password']);
并在代码查询中添加:
$qry="SELECT * FROM user WHERE username='$login' AND password='$password'";
$result=mysqli_query($link, $qry);
你能发布你的HTML吗?欢迎来到Stack Overflow!请阅读,环顾四周,并通读,尤其是和。查看此代码:您的问题很可能存在于表单本身。没有发布您的HTML,我们无法帮助。我已经发布了HTML,这是索引页
return mysqli\u real\u escape\u string($str)代码>在clean()
函数中(您可能不应该使用像clean()
这样的东西,您可能无论如何都不应该使用),它需要一个MySQLi连接,这是一个范围问题