Невозможно войти с помощью PHP MySQL

Я хочу войти с помощью PHP и MySQL, но каждый раз, когда он собирается разделиться, хотя все user_name и user_pass поступают из базы данных и используют его как обычный текст без шифрования.

вот код для входа в систему:

<?php
include("config.php");

if(isset($_POST['login'])) {
$user_name = mysql_real_escape_string($_POST['user_name']);
$user_pass = mysql_real_escape_string($_POST['user_pass']);
//$encrypt=md5($user_pass);
$admin_query = mysql_query("select user_name,user_pass from admin where `user_name` = '$user_name' AND `user_pass` = '$user_pass' ");
//$run= mysql_query($admin_query);
$row = mysql_num_rows($admin_query); //if user_name and user_pass is correct it must return atlest one
$row_ar =mysql_fetch_array($admin_query);

if( $row == 1 && $row_ar['user_pass']==$user_pass) {
$_SESSION['user_name'] = $user_name;
echo "<script>window.open('index.php','_self')</script>";
} else {
echo"<script>alert('User name or password is incorrect!')</script>";
}
}
?>

в базе данных есть таблица admin и 3coloumns id , user_name ,user_pass
каждый элемент в текстовом виде.

1

Решение

использование mysqli ИЛИ ЖЕ PDO для выполнения операций с базой данных, потому что расширение mysql устарело. mysqli_real_escape_string() Функция экранирует специальные символы в строке для использования в операторе SQL. Вы также должны передать объект соединения в качестве параметра.

include("config.php");

if(isset($_POST['login'])) {

$user_name = mysqli_real_escape_string($con,$_POST['user_name']);//$con is database connection object
$user_pass = mysqli_real_escape_string($con,$_POST['user_pass']);
//$encrypt=md5($user_pass);
$admin_query = mysqli_query("select user_name,user_pass from admin where `user_name` = '$user_name' AND `user_pass` = '$user_pass' ");
//$run= mysql_query($admin_query);
$row = mysqli_num_rows($admin_query); //if user_name and user_pass is correct it must return atlest one
$row_ar =mysqli_fetch_array($admin_query);

if( $row == 1 && $row_ar['user_pass']==$user_pass) {
$_SESSION['user_name'] = $user_name;
echo "<script>window.open('index.php','_self')</script>";
}
else {
echo"<script>alert('User name or password is incorrect!')</script>";
}

}
0

Другие решения

$admin_query = mysql_query("select user_name,user_pass from admin where `user_name` = '$user_name' AND `user_pass` = '$user_pass' ");

В приведенном выше заявлении вы используете user_name= ‘$ user_name’ и user_pass= ‘$ User_pass’. Вместо этого вы можете использовать:

$admin_query = mysql_query("select user_name,user_pass from admin where user_name = '".$user_name."' AND user_pass='".$user_pass."' ");
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector