Я работал над страницей регистрации/входа в систему с базой данных (первый раз). Когда я регистрирую своего пользователя, я получаю следующую информацию в базе данных:
Это дает мне что-то вроде пароля, но это не даст мне мое имя пользователя и адрес электронной почты (и, я думаю, пароль тоже)
Кто-нибудь может мне с этим помочь?
Мой 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, прежде чем они смогут зарегистрироваться.
Вы не получаете значения из массива post, так что сделайте так:
$username = $db->real_escape_string($_POST['username']);
$password = $db->real_escape_string($_POST['password']);
Я предполагаю, что поля формы являются именами как username
и password
Это не просто связано с поиском, похоже, вам нужно также проверить операцию сохранения. Во время регистрации вы сохраняете пустые значения.
Это работало @даналь Сандейло. Я чувствую себя невероятно глупо, потому что я пробовал $ _POST, но я сделал это как: $ username = $ _POST ['username']; $ username = $db-> real_escape_string;
$username
и$password
не определены. Вы имели в виду $ _POST ['username'] и $ _POST ['password'] или подобное? А почему в БД пусто? Ну, ты не показываешь нам, где он вставлен, так что понятия не имею.