Почему мое имя пользователя и адрес электронной почты не сохраняются на сервере sql (localhost)

0

Я работал над страницей регистрации/входа в систему с базой данных (первый раз). Когда я регистрирую своего пользователя, я получаю следующую информацию в базе данных:

Изображение 174551

Это дает мне что-то вроде пароля, но это не даст мне мое имя пользователя и адрес электронной почты (и, я думаю, пароль тоже)

Кто-нибудь может мне с этим помочь?

Мой PHP-код выглядит так:

<?php 
session_start();
// connect to database

$db = mysqli_connect('localhost', 'root', '', 'toolsforever');
if (isset($_POST['login_btn'])) {
    $username   = $db->real_escape_string($username);
    $password   = $db->real_escape_string($password);
    $password = md5($password); // hashed
    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = mysqli_query($db, $sql);
    if (mysqli_num_rows($result) == 1) {    
        $_SESSION['message'] = "You are now logged in";
        $_SESSION['username'] = $username;
        header("location: home.php"); //redirect to home page
    }else{
        $_SESSION['message'] = "Username/password combination incorrect";
    }
}
?>

Заранее спасибо PS: Password2 = подтвердить пароль для регистрационного пароля == password2, прежде чем они смогут зарегистрироваться.

  • 2
    Пожалуйста, не храните простые текстовые пароли и не хэшируйте их со слабыми алгоритмами, используйте функции паролей, предоставляемые PHP.
  • 1
    $username и $password не определены. Вы имели в виду $ _POST ['username'] и $ _POST ['password'] или подобное? А почему в БД пусто? Ну, ты не показываешь нам, где он вставлен, так что понятия не имею.
Показать ещё 4 комментария
Теги:
localhost

2 ответа

0
Лучший ответ

Вы не получаете значения из массива post, так что сделайте так:

$username   = $db->real_escape_string($_POST['username']);
$password   = $db->real_escape_string($_POST['password']);

Я предполагаю, что поля формы являются именами как username и password

Это не просто связано с поиском, похоже, вам нужно также проверить операцию сохранения. Во время регистрации вы сохраняете пустые значения.

0

Это работало @даналь Сандейло. Я чувствую себя невероятно глупо, потому что я пробовал $ _POST, но я сделал это как: $ username = $ _POST ['username']; $ username = $db-> real_escape_string;

  • 0
    Я рад, что это помогло вам. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню