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

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

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

Author24 — интернет-сервис помощи студентам
что-то вехат ь не как не могу что за прикол вот смотрите есть крипт регитсрации
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2011, 17:06
Ответы с готовыми решениями:

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

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

Проверка логина и пароля
выдает ошибку Фатальная ошибка: звонок в неопределенную функцию функцию password_verify() ...

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

20
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
14.03.2011, 17:52 2
Цитата Сообщение от Egoist0 Посмотреть сообщение
$arr=mysql_fetch_array(mysql_query("SELECT * 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  [ТС] 3
а чё вначалеф-я query а потом fatch_array ? я еще не проверял это пока так теорию спрашиваю )
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:15 4
у тебя добавляет потому что ты сначала проверяешь login($login); и потом сразу же, в не зависимости от того есть такой юзер или нет, ты вызываешь функцию добавления... add($login,$mdpass);
0
15 / 14 / 4
Регистрация: 10.03.2011
Сообщений: 42
14.03.2011, 22:16 5
А может оно продолжает регистрацию потому что ф-я add вызывается вне зависимости от результатов ф-и login?
PHP
1
2
login($login);
add($login,$mdpass);
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:17 6
а надо сделать так что бы у тебя вызывалась функция ADD в зависимости от ответа функции login()
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:17  [ТС] 7
вот я про тоже, просто не могу додуматся как сделать если есть то сказать типа "кури бомбук"
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:25 8
ща я тебе напишу) 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  [ТС] 9
к сожелению не сработало(
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:34 10
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  [ТС] 11
пишет такой логин есть и дальше сразу поздравляю $login вы зарегались
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:39 12
блин) че ты зразу не сказал)) все там норм работает)
прсто измени вот эту часть
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  [ТС] 13
ну теперь пишет что такой логин есть , но когда регаю то ничего не делает просто пустой екран и всё
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:45 14
PHP
1
if(login($login) === false)
поставь тут 2 равно а не 3и
может у тебя где-то дальше ошибка, может в функции) я ведь не вижу что оно у тебя точно возвращает и передает, может ты неверно логин передаешь)
1
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 22:48  [ТС] 15
там два равно и стоит вот можеш попробывать арегатся и увидиш что оно выдает а выдает ничего )
http://94.45.80.215:81/p/
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:10 16
убери or die (mysql_error()) где он есть, и посмотри что тебе будет выдавать
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 23:12  [ТС] 17
странно зарегало, а чё так ?
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:15 18
значит неверно всунул)
0
21 / 21 / 2
Регистрация: 17.02.2011
Сообщений: 303
Записей в блоге: 1
14.03.2011, 23:16  [ТС] 19
как понять не верно всунул ?)
0
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 23:19 20
неверно применил, ток из-за моего дремотного состояния не могу подсказать в чем именно неверно)
0
14.03.2011, 23:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2011, 23:19
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru