Выводится ошибка: Notice: Undefined variable: mail in /home/c/cj28778/public_html/test/signup.php on line 16, в чём проблема?

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$connect = mysqli_connect('localhost' ,'root', 'password') or die(mysqli_error());
  mysqli_select_db($connect, 'db') or die("Cannot select DB");
$email = mysqli_real_escape_string($connect, trim($_POST['email']));
$username = mysqli_real_escape_string($connect, trim($_POST['username']));
$password1 = mysqli_real_escape_string($connect, trim(password_hash($_POST['password1'], PASSWORD_DEFAULT)));
$password2 = mysqli_real_escape_string($connect, trim(password_hash($_POST['password2'], PASSWORD_DEFAULT)));
$data = date('YmdHis');
if(isset($_POST['submit'])){
$select = mysqli_query($connect, "select count(*) from users where (email='$mail')");
var_dump($select);
if($select) { // если не вернул false
$select = mysqli_fetch_assoc($select)['count(*)'];
if( $select === 0 ) {
	if($password1 == $password2){
			$insert = mysqli_query($connect,"INSERT INTO users (id, username, mail, password, data-reg) VALUES('', '$username', '$email', '$password2', '$data')");
				echo "Вы успешно зарегистрировались! Перейти на <a href='index.php'>Главную</a>";}

}
}else{
		echo "<div style='color:red;'>Пользователь с данной почтой уже существует!</div><br><hr/><br>";
	}
}

?>

Ошибка висит давно, но помимо неё ещё возникает проблема - высвечивается такое сообщение: "Пользователь с данной почтой уже существует!" - не зависимо от того, что БД пустая
  • Вопрос задан
  • 1493 просмотра
Решения вопроса 2
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Ну так у вас переменная $email называется. А в запрос подставляется $mail - вот php и ругается о том, что первый раз переменную встретил.
Ответ написан
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
Вот ответ
Notice: Undefined variable: mail in /home/c/cj28778/public_html/test/signup.php on line 16

Что тут не понятного?
Не знаете английский? Можно воспользоваться translate.google.ru
Обратите внимание: неопределенная переменная:

PHP почти всегда указывает ошибку четко и понятно

5ea69569f2794756aec2152632a7dd1d.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы