Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/70: Рейтинг темы: голосов - 70, средняя оценка - 4.59
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1

Проверка логина

14.03.2011, 17:06. Показов 13171. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
что-то вехат ь не как не могу что за прикол вот смотрите есть крипт регитсрации
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
29
<?
include ('connect.php');
//методу POST присваиваем переменые
$login=strip_tags(trim($_POST['login']));
$pass=strip_tags(trim($_POST['pass']));
$password=strip_tags(trim($_POST['password']));
$button=$_POST['but'];
//Проверяем на пустоту ячейки
if($button==true){
    if(empty($login)){
        echo "Поле логина не заполненно<br>";
    }
    if(empty($pass)){
        echo "Поле пароля не заполнено<br>";
        }
    if(empty($password)){
        echo "Поле повторного пароля не заполнено<br>";
        }
    if($login==true && $pass==true && $password==true){ // если все ячейки заполнены регистрируем
        if($pass===$password){
            $mdpass=md5($pass);
            login($login);
            add($login,$mdpass);
            echo "Поздравляю ".$login." вы зарегестрировались";
            }else{
                echo "Пароли не совпадают";
                }
        }   
}
вот дальше скрипт добавления в БД и првоерки на логин и вот с проверкой загвостка
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
include('config.php');
function login($login){
    $arr=mysql_fetch_array(mysql_query("SELECT * FROM test WHERE login='$login'")) or die (mysql_error());
    if(!empty($arr)){
        echo "такой логин есть";
        }
    }
// добавляем в БД нового пользывателя
function add($login,$pass){
    $query="INSERT INTO test(login,pass) VALUES('$login','$pass')";
    $result=mysql_query($query) or die (mysql_error());
    }
?>
вот оно когда регаеш тотдже ак пишет чтио тако йлогин существует, а дальше Поздравляю ".$login." вы зарегестрировались почему после того как скрипт проверил что такой логин есть оно дальше регает ? я так понимаю что-то надо настроить в
PHP
1
2
3
4
5
$arr=mysql_fetch_array(mysql_query("SELECT * FROM test WHERE login='$login'")) or die (mysql_error());
    if(!empty($arr)){
        echo "такой логин есть";
        }
    }
что надо дописать что-то я не пойму
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.03.2011, 17:06
Ответы с готовыми решениями:

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

Проверка логина
Доброго времени суток! В инете видел вот такой код проверки для логина: if (isset($_POST)) { $login = $_POST; if ($login == '')...

Проверка логина и пароля
выдает ошибку Фатальная ошибка: звонок в неопределенную функцию функцию password_verify() Помогите пожалуйста &lt;?php ...

20
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.03.2011, 17:52
Цитата Сообщение от Egoist0 Посмотреть сообщение
$arr=mysql_fetch_array(mysql_query("SELE CT * FROM test WHERE login='$login'")) or die (mysql_error());
здесь думаю ошибка
ф-я mysql_query предшествует mysql_fetch_array
так что ли перепиши
PHP
1
2
3
4
5
6
7
function login($login){
    $mq = mysql_query("SELECT * FROM test WHERE login='$login'") or die (mysql_error());
    $arr=mysql_fetch_array($mq);
    if(!empty($arr)){
                echo "такой логин есть";
                }
        }
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:03  [ТС]
а чё вначалеф-я query а потом fatch_array ? я еще не проверял это пока так теорию спрашиваю )
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:15
у тебя добавляет потому что ты сначала проверяешь login($login); и потом сразу же, в не зависимости от того есть такой юзер или нет, ты вызываешь функцию добавления... add($login,$mdpass);
0
 Аватар для Cach
15 / 14 / 4
Регистрация: 10.03.2011
Сообщений: 42
14.03.2011, 22:16
А может оно продолжает регистрацию потому что ф-я add вызывается вне зависимости от результатов ф-и login?
PHP
1
2
login($login);
add($login,$mdpass);
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:17
а надо сделать так что бы у тебя вызывалась функция ADD в зависимости от ответа функции login()
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:17  [ТС]
вот я про тоже, просто не могу додуматся как сделать если есть то сказать типа "кури бомбук"
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:25
ща я тебе напишу) 5 минут)

Добавлено через 3 минуты
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
29
30
31
32
33
34
35
<?
include ('connect.php');
//методу POST присваиваем переменые
$login=strip_tags(trim($_POST['login']));
$pass=strip_tags(trim($_POST['pass']));
$password=strip_tags(trim($_POST['password']));
$button=$_POST['but'];
//Проверяем на пустоту ячейки
if($button==true){
        if(empty($login)){
                echo "Поле логина не заполненно<br>";
        }
        if(empty($pass)){
                echo "Поле пароля не заполнено<br>";
                }
        if(empty($password)){
                echo "Поле повторного пароля не заполнено<br>";
                }
        if($login==true && $pass==true && $password==true){ // если все ячейки заполнены регистрируем
                if($pass===$password){
                        $mdpass=md5($pass);
                        if(login($login) === false)
                        {
                              add($login,$mdpass);
                        }
                        else
                        {
                              echo 'Пользователь с таким логином уже есть';
                        }
                        echo "Поздравляю ".$login." вы зарегестрировались";
                        }else{
                                echo "Пароли не совпадают";
                                }
                }       
}
сама функция
PHP
1
2
3
4
5
6
7
8
9
10
function login($login){
        $arr=mysql_fetch_array(mysql_query("SELECT * FROM test WHERE login='$login'")) or die (mysql_error());
        if(!empty($arr)){
                return true;
                }
                else
                {
                return false;
                }
        }
Добавлено через 3 минуты
22 строчка в основном скрипте = если функция Логин возвращает true значит юзер с таким логином есть и мы пишем "Пользователь с таким логином уже есть", если FALSE -- такого логина в базе нету, можно добавить нового

функция Логин = возвращает TRUE если запрос что-то вернет, т.е. такой логин в базе есть, и FALSE - если запрос ничего не вернет, т.е. такого логина в базе нет
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:31  [ТС]
к сожелению не сработало(
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:34
PHP
1
if(login($login) == false)
оставь 2 равно вместо 3х, и тут тоже
PHP
1
if($pass==$password){
что оно у тебя вообще теперь выдает?
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:36  [ТС]
пишет такой логин есть и дальше сразу поздравляю $login вы зарегались
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:39
блин) че ты зразу не сказал)) все там норм работает)
прсто измени вот эту часть
PHP
1
2
3
4
5
6
7
8
9
10
11
if($pass===$password){
                        $mdpass=md5($pass);
                        if(login($login) === false)
                        {
                              add($login,$mdpass);
                        }
                        else
                        {
                              echo 'Пользователь с таким логином уже есть';
                        }
                        echo "Поздравляю ".$login." вы зарегестрировались";
на эту
PHP
1
2
3
4
5
6
7
8
9
10
11
if($pass===$password){
                        $mdpass=md5($pass);
                        if(login($login) === false)
                        {
                              add($login,$mdpass);
                              echo "Поздравляю ".$login." вы зарегестрировались";
                        }
                        else
                        {
                              echo 'Пользователь с таким логином уже есть';
                        }
1
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:42  [ТС]
ну теперь пишет что такой логин есть , но когда регаю то ничего не делает просто пустой екран и всё
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:45
PHP
1
if(login($login) === false)
поставь тут 2 равно а не 3и
может у тебя где-то дальше ошибка, может в функции) я ведь не вижу что оно у тебя точно возвращает и передает, может ты неверно логин передаешь)
1
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:48  [ТС]
там два равно и стоит вот можеш попробывать арегатся и увидиш что оно выдает а выдает ничего )
http://94.45.80.215:81/p/
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:10
убери or die (mysql_error()) где он есть, и посмотри что тебе будет выдавать
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 23:12  [ТС]
странно зарегало, а чё так ?
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:15
значит неверно всунул)
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 23:16  [ТС]
как понять не верно всунул ?)
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:19
неверно применил, ток из-за моего дремотного состояния не могу подсказать в чем именно неверно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2011, 23:19
Помогаю со студенческими работами здесь

Проверка логина и пароля
хай пипл. У меня вот такая задачка. Есть форма, логин и пароль. Нужно, чтоб после заполнения, проверялись данные, и если есть такой...

Проверка пароля и логина
Не получается выполнить проверку логина и пароля, должно получится 4 варианта: 1) пароль и логин верны 2) пароль и логин не верны 3)...

Проверка логина на подлинность
Подскажите в чём ошибка.3-ий день вожусь уже. Диплом на носу( Перепечатайте код на форум и оформите соответствующими тегами ваш код

Проверка логина в базе данных
Добрый день, товарищи программисты. Попытался написать форму регистрации. Ошибка в том, что не выдаёт сообщение, что &quot;Такой логин уже...

Проверка на уникальность логина и почты
Здравствуйте, вот учусь PHP, используя MySQLI, проблема состоит в том, что я создал форму для регистрации, заносит он её в бд, но мне...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru