Есть код, только, при его выполнении (а имеено, нажатии на кнопку nameTwo) происходит ошибка. Если пароль зарегистрированного в бд пользователя совпадает с введеным, то выводит "Bad", хотя должно "Good". Помогите найти ошибку! PHP: <?php $mysqli = new mysqli ("localhost", "root", "", "myBase"); $mysqli->query ("SET NAMES 'utf8'"); $nameOne = htmlspecialchars ($_POST["nameOne"]); $emailOne = htmlspecialchars ($_POST["emailOne"]); $passwordOne = htmlspecialchars ($_POST["passwordOne"]); $emailTwo = htmlspecialchars ($_POST["emailTwo"]); $passwordTwo = htmlspecialchars ($_POST["passwordTwo"]); $realyEmail = $mysqli->query ("SELECT `login` FROM `users` WHERE `login` LIKE '$emailTwo'"); $realyPassword = $mysqli->query ("SELECT `password` FROM `users` WHERE `password` LIKE '$passwordTwo'"); if (isset($_POST["doneOne"])) { $mysqli->query ("INSERT INTO `users` (`name`, `login`, `password`) VALUES ('$nameOne', '$emailOne', '$passwordOne')"); } if (isset($_POST["doneTwo"])) { if (($emailTwo == $realyEmail) && ($passwordTwo == $realyPassword)) { echo "GOOD!"; } else { echo "Bad!"; } } $mysqli->close (); ?>
11, 12 line `login` = '$emailTwo' `password` = '$passwordTwo' + выходит у тебя ассоциативный массив после запроса, какой нак массив сравнивают со string ?
В моем понимании должно быть что то типа: Код (Text): $mysqli->query ("SELECT `login` FROM `users` WHERE `login` LIKE '$emailTwo'"); $realyEmail = $mysqli->fetch_assoc(); $mysqli->query ("SELECT `password` FROM `users` WHERE `password` LIKE '$passwordTwo'"); $realyPassword = $mysqli->fetch_assoc(); ..... if (($emailTwo == $realyEmail['LOGIN']) && ($passwordTwo == $realyPassword['PASSWORD'])) { .....
@anonim Вроде ты ошибся тут: PHP: if (isset($_POST["doneTwo"])) { if (($emailTwo == $realyEmail) && ($passwordTwo == $realyPassword)) { echo "GOOD!"; } else { echo "Bad!"; } Поменяй местами: PHP: if (isset($_POST["doneTwo"])) { if (($emailTwo == $realyEmail) && ($passwordTwo == $realyPassword)) { echo "Bad!"; } else { echo "GOOD!"; } Может поможет