Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
ГузелькаС
5 / 5 / 6
Регистрация: 04.12.2011
Сообщений: 178
#1

Как написать, что такой пользователь уже есть при регистрации

04.05.2016, 07:10. Просмотров 875. Ответов 8

Добрый день.
Мне нужно делать регистрацию пользователя на сайте. К базе данных я подключилась, после ввода данных и нажатия на кнопку "регистрация" я отправляю запрос на базу данных и проверяю, нет ли уже такого пользователя.
Если есть такой пользователь, то как нужно написать в форме об этом? Мне нужно не просто echo "";
а чтобы в нужном месте в форме вылезла эта запись.
Помогите, пожалуйста, это сделать. В интернете искала, там только на простых примерах учат. А как именно в нужном месте вывести не могу найти.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2016, 07:10
Ответы с готовыми решениями:

Как узнать, что пользователь уже прочитал запись?
Всем привет! Сделал страницу новостей на сайте, теперь хочу сделать так, чтобы...

При регистрации на сайте постоянно выводит Ошибка! С Вашего IP адреса уже была регистрация
При регистрации на сайте постоянно выводит Ошибка! С Вашего IP адреса уже...

как при вводе нового имени сравнить есть ли уже такое имя в файле или нет
как при вводе нового имени сравнить есть ли уже такое имя в файле или нет, типа...

Undefined offset: 0 Но Массив и ключ такой есть! Что это такое?
Доброе утро, все массивы берутся с API youtuba Пишет на одном - Undefined...

Передача формы в адресную строку В ДОПОЛНЕНИЕ к тому что там уже есть
Здравствуйте! Нужна помощь знающих! Как В ПРИДАЧУ к параметрам, которые...

8
php10
143 / 104 / 42
Регистрация: 30.04.2016
Сообщений: 544
04.05.2016, 08:23 #2
Лучший ответ Сообщение было отмечено ГузелькаС как решение

Решение

Простейший вариант (код не тестировал):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
    // Тут подключение к бд и проверка пользователя на наличие.
    // Думаю сами код напишите.
    // представим, что найденных пользователей у нас 1. 0 - пользователей нет вообще.
    // т.е. вам нужно выполнить запрос вида SELECT COUNT(`id`) as total FROM users WHERE login = 'login' AND password = 'password'; и в 
    // userCount подставить total из запроса
    $userCount = 1;
    $hasErrorsArray = [];
    if ($userCount > 0) {
        $hasErrorsArray[] = 'Такой пользователь уже существует';
    }
    // если хотите добавить еще одну ошибку, также напишите: 
    // $hasErrorsArray[] = 'Еще одна ошибка';
?>
 
<form>
<?php
    // тут мы просто выводим ошибку 
   if (isset($_POST['reg_login']) && count($hasErrorsArray) > 0) {
        foreach ($hasErrorsArray as $error) {
            echo '<div>' . $error . '</div>';
        }   
   }
?>
<input type="text">
<input type="password">
<button type="submit">Отправить</button>
</form>
1
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10723 / 6056 / 449
Регистрация: 09.09.2009
Сообщений: 23,998
04.05.2016, 08:34 #3
Цитата Сообщение от ГузелькаС Посмотреть сообщение
А как именно в нужном месте вывести не могу найти.
в див с абсолютным позиционированием
1
php10
143 / 104 / 42
Регистрация: 30.04.2016
Сообщений: 544
04.05.2016, 08:42 #4
Dmitry, скорее всего человек имел в виду в нужном месте на HTML странице в форме)
1
ГузелькаС
5 / 5 / 6
Регистрация: 04.12.2011
Сообщений: 178
04.05.2016, 08:49  [ТС] #5
Вы меня в очередной раз выручаете! Спасибо большое)))
0
php10
143 / 104 / 42
Регистрация: 30.04.2016
Сообщений: 544
04.05.2016, 08:52 #6
ГузелькаС, Для спасибо есть кнопка спасибо
1
JimUSA
Web Programmer
324 / 285 / 121
Регистрация: 28.09.2011
Сообщений: 1,566
04.05.2016, 18:10 #7
ГузелькаС, Как вариант.
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
 
$db = new mysqli('localhost', 'root', '', 'dbname');
 
$error_login = '';
 
if($_SERVER['REQUEST_METHOD'] === 'POST') {
 
    $login = $db->real_escape_string(trim($_POST['login']));
    $result = $db->query("SELECT `login` FROM `users` WHERE `login`='{$login}' LIMIT 1")->fetch_assoc();
    if(!is_null($result)) $error_login = 'Логин "' . $result['login'] . '" уже занят!';
 
}
 
?>
<!DOCTYPE html>
<html>
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
<style type="text/css">
<?php if(!empty($error_login)) { ?>
#login:after {
    position: absolute;
    padding-left: 10px;
    color: rgba(255,0,0,1);
    content: '<?=$error_login?>';
    font-size: 13px;
}
<?php } ?>
</style>
 
</head>
<body>
 
<table>
<form action="" method="POST">
    <tr>
        <td>Логин:</td><td id="login"><input type="text" name="login" /></td>
    </tr>
    <tr>
        <td colspan="2" align="right"><button>Регистрация</button></td>
    </tr>
</form>
</table>
 
</body>
</html>
1
Миниатюры
Как написать, что такой пользователь уже есть при регистрации  
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1735 / 1278 / 579
Регистрация: 12.01.2011
Сообщений: 5,081
04.05.2016, 23:08 #8
PHP
1
2
3
if($result->num_rows > 0){
echo 'Логин уже существует';
}
0
JimUSA
Web Programmer
324 / 285 / 121
Регистрация: 28.09.2011
Сообщений: 1,566
04.05.2016, 23:58 #9
Azdeman,
Цитата Сообщение от ГузелькаС Посмотреть сообщение
Если есть такой пользователь, то как нужно написать в форме об этом? Мне нужно не просто echo "";
0
04.05.2016, 23:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2016, 23:58

Есть скрипт регистрации через Wm. Как ее изменить
Вот скрипт: #1 &lt;? require 'header.php';?&gt; &lt;div class=&quot;menucenter&quot;&gt;...

как написать регистрации на пхп
как написать регистрации на пхп

Есть php скрипт регистрации и авторизации, как создать защищённые страницы
Привет всем форумчанам! У меня опять проблема: есть полностью рабочий скрипт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru