Intereting Posts
Получение данных POST из вызова AJAX на PHP Ошибка IPN PayPal и URL-адрес настраиваемого порта IPN Может ли экземпляр объекта PHP узнать его имя? Laravel logical – конвертировать цену, поэтому на frontend у меня всегда значение chf Как сохранить текстовую строку с разрывами строк в текстовое поле базы данных MySQL с помощью PHP? Как установить внутренний указатель Arrays на определенную позицию? PHP / XML Недельный админ-модуль Magento пуст Заголовки WordPress: если длиннее 50 символов, покажите эллипсис AJAX обновляет базу данных MYSQL, используя функцию, вызванную из HTML, сгенерированную из PHP Есть ли возможность существования PHP.NET? PHP – переместить файл в другую папку на сервере Элементы MYSQL extract json, в которых содержится json Разрешение PHP mkdir Отказано в работе в Windows Server 2008 IIS 7 из-за атрибута только для чтения? Repeater, Datalist в ASP против PHP Проблема php simplexml при чтении атрибута, который имеет название «column -:» в его имени

Когда я перехожу к Localhost и попробую имя пользователя и пароль, который он сообщает мне об ошибке?

Когда я перехожу к Localhost и попробую имя пользователя и пароль, который он сообщает мне об ошибке? Зачем?

мои коды:

<?php session_start(); if (isset($_SESSION["user_id"])) { header("location: /web/home.php"); } if (isset($_POST["s"])) { $username = $_POST["un"]; $password = $_POST["ps"]; $enc_password = md5($password); $con = mysqli_connect("localhost", "root", "", "my_db"); $query = "select * from my_db where username = '" . $username . "' and password = '" . $enc_password . "'"; $rs = mysqli_query($con,$query); if(mysqli_num_rows($rs) > 0){ $record = mysqli_fetch_assoc($rs); $_SESSION["user_id"]= $record["user_id"]; header("location: /web/home.php"); } else { echo "<h3 style = 'color:red'>Error in username or password</h3>"; } } ?> 

Когда я перехожу к Localhost и попробую имя пользователя и пароль, который он сообщает мне об ошибке? Зачем?

Он выглядит введенным пользователем / паролем или оба не соответствуют таблице базы данных my_db.

Причины: Localhost означает, что db получает реферирование по локальной сети. Поэтому в вашей локальной базе данных в таблице my_db нет пользователя с указанным именем пользователя и паролем. Возможно, данные действительны в удаленном сервере базы данных.

Решение: 1. Возьмите дамп из удаленной базы данных и поместите в свой localhost так, чтобы ваш локальный db и удаленный db были репликой 2. Для простого решения просто вставьте необходимые данные в таблицу my_db.

надеюсь, это поможет

1) Использовать документы password_hash

в то время как регистрация использует password_hash() для хеширования пароля и сохранения его в базе данных, и во время входа в систему используйте password_verify() чтобы проверить пароль, подобный этому.

2) подготовленный пользователем оператор, чтобы избежать инъекции sql

 <?php session_start(); if(isset($_SESSION["user_id"])){ header("location: /web/home.php"); } if(isset($_POST["s"])){ $username = $_POST["un"]; $password = $_POST["ps"]; $conn = mysqli_connect("localhost","root","","my_db") or die("Connection failed: " . mysqli_connect_error()); $stmt = $conn->prepare("SELECT * FROM table_name WHERE username=?"); $stmt->bind_param('s',$username); $stmt->execute(); $get_result =$stmt->get_result(); $row_count= $get_result->num_rows; if($row_count>0) { $record = $get_result->fetch_assoc(); if(password_verify($password,$record['password'])) { $_SESSION["user_id"]= $record["user_id"]; header("location: /web/home.php"); } else { echo "<h3 style = 'color:red'>Error in username or password</h3>"; } }else{ echo "<h3 style = 'color:red'>Error in username or password</h3>"; } } ?>