Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите создать проверку на уникальность пользователя для бд. PHP 7, MySQLI

Аким Потапов Ученик (200), на голосовании 6 лет назад
Здравствуйте, вот учусь PHP, попеременно используя MySQLI, проблема состоит в том, что я создал форму для регистрации, заносит он её в бд, но мне нужно сделать проверку на уникальность и, следовательно, нужно для авторизации пользователя. Вот уже 3-й день не могу разобраться

<?php
require 'db.php';

$data = $_POST;

if ( isset($data['do_signup']) ) {
$login=($data['login']);
$email=($data['email']);
$password=($data['password']);
$r_password=($data['r_password']);
if ($password==$r_password) {
$password=md5($password);}
else{
echo('Пароли не совпадают');}
$sql ="INSERT INTO log (login,password,email)
VALUES ('$login','$password','$email')";
if ($connect->query($sql) === TRUE) {
echo 'Вы успешноЗарегестрированны';
}
else {
die('Ой, что-то пошло не так!');

}

}

?>


<input type="text" name="login" value="<?php echo @$data['login']; ?>" placeholder="Ваш Логин" required>

<input type="email" name="email" value="<?php echo @$data['email']; ?>"placeholder="Ваша Почта" required>

<input type="password" name="password" value="<?php echo @$data['password']; ?>"placeholder="Ваш Пароль" required>

<input type="password" name="r_password" value="<?php echo @$data['r_password']; ?>"placeholder="Повторите Пароль" required>
Регистрация
Голосование за лучший ответ
забань плиз Мыслитель (6203) 6 лет назад
https://stackoverflow.com/questions/15461765/check-if-username-exist-activated-in-database-using-mysqli <- первый попавшийся пример. правда, лучше вместо SELECT * использовать тут SELECT 1, если с этими данными нет нужды работать
Аким ПотаповУченик (200) 6 лет назад
Я не совсем понимаю как использовать эти данные. Мне стоит убрать проверку с коннектом и подставить пример? За ранее сорри)
if ( isset($data['do_signup']) ) {
$login=($data['login']);
$email=($data['email']);
$password=($data['password']);
$r_password=($data['r_password']);
if ($password==$r_password) {
$password=md5($password);}
else{
echo('Пароли не совпадают');}
$sql ="INSERT INTO log (login,password,email)
VALUES ('$login','$password','$email')";

$result = mysqli_query($connect, "SELECT * FROM log WHERE login='".$login."' AND activate='0'");
if ($result->num_rows) {
echo 'Вы успешноЗарегестрированны';
}

else
{
die('Ой, что-то пошло не так');
}
забань плиз Мыслитель (6203) стоп. вы сказали вам нужно проверить зарегистрирован ли логин - так и проверяйте этим запросом с учётом вашей структуры бд. логика: запрос на сервер если существует пользовтаель, ошибка не существует, создаём
Похожие вопросы