|
|
|
| Есть форма регистрации, есть проверка на пустые поля, но почему-та не проверяется существование записи...
Код:
if($row['login'] == $login){
echo "Логин уже используется в системе!";
}else{
|
Перед этим проходит коннект к базе mysql и проверяется, есть ли такой логин в базе или нет.
Но проверка не проходит и юзер регистрирует любое занятое имя...
Может можно проверить как-то другим способом? | |
|
|
|
|
|
|
|
для: DMN
(02.12.2005 в 21:54)
| | а код проверки по базе приложите пожалуйста. | |
|
|
|
|
|
|
|
для: Valeri
(02.12.2005 в 22:27)
| | так вот и проверяется значение...
если логин есть, то выдаётся запись о существовании такового, а если нет, то идёт запись в базу...
другой проверки нет. | |
|
|
|
|
|
|
|
для: DMN
(02.12.2005 в 21:54)
| | По этому отдельному куску можно лишь сказать что при успешном сравнении элемента массива $row с индексом "login" c переменной $login выводится сообщение в броузер "Логин уже используется в системе!", при неуспешном вероятно делается что-то еще. И все. IMHO, маловато информации чтобы эффективно помочь в решении данной проблемы. Но все же, как должен выглядеть подобный алгоритм:
1. Скрипт принимает данные от пользователя (напрямую из формы, или после проверки через JavaScript)
2. Считывает из базы данные из соответствуешй таблицы и полей.
3. Сравниает полученные данные и те, которые находятся в БД.
4. В случае TRUE выводит в броузер сообщение об ошибке и форму, чтобы пользователь повторил запрос.
5. В случае FALSE заносит данные полученные от пользователя в базу и (опционально), пишет сообщение об успешной регистрации (в данном случае).
Ну вроде так....Исходя из этого можно предположить что ошибка на 3 этапе - то есть при сравнении полученных данных из формы и считанных из БД. | |
|
|
|
|
|
|
|
для: Алекс
(02.12.2005 в 22:33)
| | Дайте пример... | |
|
|
|
|
|
|
|
для: DMN
(02.12.2005 в 22:40)
| | вас самого просят выложить код каким вы проверяете пользователя по базе.
какой вы пример просите ?
выложите код и станет сразу ясно где у вас ошибка. | |
|
|
|
|
|
|
|
для: Valeri
(03.12.2005 в 00:32)
| | Ладно, раз непонятно что и как объясню немного подругому...
Есть база, нужно к ней приконектится и сравнить в ней записи, если есть похожие, то выполнение прикрощается, а если совпадений нет, то продолжает выполняться... | |
|
|
|
|
|
|
|
для: DMN
(03.12.2005 в 00:56)
| | то есть насколько я понял у вас нет кода по проверки пользователя по базе и вы хотите что бы вам его написали.
правильно я понял ? | |
|
|
|
|
|
|
|
для: Valeri
(03.12.2005 в 01:03)
| | впринципе да...
код та есть, но не один неработает! | |
|
|
|
|
|
|
|
для: DMN
(03.12.2005 в 01:14)
| | Так может Вы все-таки выложите этот код чтобы посмотреть что именно у Вас не получается? ) Иначе скоро эту тему в "Разное" модераторы перенесут наверное ввиду ее не особенной информативности, мягко говоря ) | |
|
|
|
|
|
|
|
для: Алекс
(03.12.2005 в 01:16)
| | Ну к примеру есть такое решение:
$result = mysql_query("SELECT 'id_member' FROM 'members' WHERE login = '$login'");
if(mysql_num_rows($result) > 0 ) {
echo "Извините такой логин уже есть";
}else{
|
Есть ещё, но думаю, что из этого примера станет понятно, что мне нужно :) | |
|
|
|
|
|
|
|
для: DMN
(03.12.2005 в 01:23)
| | а чем вас этот код не устраивает ?
все правильно.
если он не работает, то обьясните в чем он не работает.
но вполне возможно что у вас не определяется $login, попробуйте так
$login=$_POST['login'];
если конечно у вас в форме данные передаются post методом и там определена переменная login | |
|
|
|
|
|
|
|
для: Valeri
(03.12.2005 в 02:13)
| | Вот посмотрите, я там привёл весь код страницы!!!
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=10010&page=1 | |
|
|
|
|
|
|
|
для: DMN
(03.12.2005 в 02:15)
| | вообще то если по человечески, то вот это
$login = safe_term($_POST['login']);
$pas = safe_term($_POST['password']);
$email = safe_term($_POST['email']);
$wmz = safe_term($_POST['wmz']);
|
должно писаться после
if($_POST[set] == "Регистрация"){
а не у черта на куличках.
так же не ясно что там делает
function safe_term($variable){
$variable = addslashes(trim($variable));
return $variable;
}
|
ну да бог с ней.
а так по идеи все правильно и должно работать. | |
|
|
|