@Dmax99

Как проверить Email и Login на существование?

Здравствуйте!
Столкнулся с проблемой, никак не получается проверить логин и почту на существовании в базе. Леплю лепнину и никак не вьезжаю....
// if user click Login button
	if(isset($_POST['btnLogin'])){
	$errors = array();
		// get username and password
		$username = $_POST['username'];
		$password = $_POST['password'];
		$email = $_POST['email'];
		$role = $_POST['role'];
		$fullname = $_POST['fullname'];
		$country = $_POST['country'];
		$city = $_POST['city'];
		$phone = $_POST['phone'];
		
		// create array variable to handle error
		$error = array();
		
		// проверьте, пусто ли $username или нет
		if(empty($username)){
			$error['username'] = "*Username should be filled.";
		}
		
		// check whether $password is empty or not
		if(empty($password)){
			$error['password'] = "*Password should be filled.";
		}
		
		// если имя пользователя и пароль не пустые, проверьте базу данных
		if(!empty($username) && !empty($password)){
			
			// change username to lowercase
			$username = strtolower($username);
			
			//encript password to sha256
		    $password = hash('sha256',$username.$password);

			// get data from user table
			$sql_query = "INSERT INTO tbl_user(Username, Password, Email, Role, FullName, Country, City, Phone) value " .
    "('$username', '$password', '$email', '$role', '$fullname', '$country', '$city', '$phone')";
						
			$stmt = $connect->stmt_init();
			if($stmt->prepare($sql_query)) {
				// Bind your variables to replace the ?s
				$stmt->bind_param('ssssssss', $username, $password, $email, $role, $fullname, $country, $city, $phone);
				// Execute query
				$stmt->execute();
				/* store result */
				$stmt->store_result();
				$num = $stmt->num_rows;
				// Close statement object
				$stmt->close();
			}
			
		}	
		
	}

Перепробовал кучу примеров, и никак не получается. Помогите сделать или подскажите пример...
Заранее спасибо!
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
Select Username, Email from tbl_user where Username = '$username' or '$email;'
Т.е. берешь ищешь по username или email, нашел хотя был 1 запись - поздравляю, юзер существует, не нашел - не существует, нашел больше 1 записи - сам придумай.

Только не очень хорошая идея ставить все содержимое из POST напрямую в SQL запрос, обязательно обработай от мусора, а то подсунут что-нибудь и утечет у тебя база.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы