Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка поля емайл на повторение 
V
    Опции темы
Defer
Дата 1.9.2010, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



Доброго времени суток!

Вообщем возникла такая проблема.
У меня имеется регистрационная форма которая подключена к базе.
Имя там фамилия и главное поле-емайл.
Поле емайл будет являтся логином,и надо чтоб если пользователь при регистрации ввел уже существующий емайл ему вернулась бы ошибка аля такой пользователь с емайлом уже есть.

Так вот я создал 2 файла.
1 файл там находятся инпуты аля текстовые строки  с кнопкой а во 2 файле коннект к базе и вставка информации в базу.

Непонятно почему не работает .
Вообщем если  count(*) равен 0 то такого емайла нет в базе а если  count(*) равен 1 то есть.

Что бы я хотел сделать чтобы если  count(*) был бы не равен 0,то выдавалась бы ошибка через  echo или sql чтобы пользовател видел при этом,insert бы не проходил

 Ну а если равен нулю то все нормально insert работает

Код
if('email')
 {
    $sql="SELECT count(*) FROM 'db_registration' WHERE 'db_registration.email'='email'";
    if($sql != 0)
    {
      echo "error the Email is already taken";
    }
    if($sql==0)
    {
       $insert_query = 'insert into db_registration (
                    name,
                    lastname,
                    student,
                    professor,
                    email,                        
                    password
                    )
                    values
                    (
                    
                    "' . $_POST['name'] . '", 
                    "' . $_POST['lastname'] . '",
                    "' . $_POST['student'] . '",
                    "' . $_POST['professor'] . '",
                    "' . $_POST['email'] . '",
                    "' . md5($_POST['password']) . '"
                    )';
        mysql_query($insert_query);
     }
  }



Надеюсь на помощь или совет

Это сообщение отредактировал(а) skyboy - 2.9.2010, 11:48
PM MAIL   Вверх
enoff
Дата 1.9.2010, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



Код


$result = mysql_query("SELECT COUNT(*)...");
$count = mysql_result($result, 0);
if($count > 0) {
echo "E-mail уже есть";
...

PM MAIL ICQ Skype GTalk   Вверх
Defer
Дата 1.9.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



Warning: mysql_result() expects parameter 1 to be resource, boolean given in /Applications/MAMP/php/Registration form/db_registration.php on line 15

не помогло
PM MAIL   Вверх
gta4kv
Дата 1.9.2010, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



Ошибку в гугл.
PM MAIL   Вверх
enoff
Дата 1.9.2010, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



Так и знал  smile 
Код

$result = mysql_query("SELECT...");
if(!$result) {
    exit(mysql_error());
}
$count = ...;


Добавлено через 28 секунд
http://php.net
PM MAIL ICQ Skype GTalk   Вверх
Defer
Дата 2.9.2010, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



чтото ничего не помогает может напишешь мне тупому как все в месту будет выглядеть?


заранее блогадарен
PM MAIL   Вверх
Defer
Дата 2.9.2010, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



хммм странно пишу

Код
$result = mysql_query("SELECT count(*) FROM db_registration WHERE db_registration.email=email");
 echo $result;


а выводит должен 0 если нет такого емайла и 1 если есть

А он мне выводит Resource id #3 

может запрос корявый или плохой?


Это сообщение отредактировал(а) skyboy - 2.9.2010, 11:47
PM MAIL   Вверх
gta4kv
Дата 2.9.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



Вы вообще знаете что такой mysql и как с ним работать? Вы пытаетесь вывести ссылку (индефикатор) mysql запроса.
PM MAIL   Вверх
enoff
Дата 2.9.2010, 11:43 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



Позже код полностью напишу.

Добавлено через 1 минуту и 1 секунду
И ссылок много накидаю smile 
PM MAIL ICQ Skype GTalk   Вверх
skyboy
Дата 2.9.2010, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Defer, обрати внимание на кнопку "Код" над полем ввода сообщения. Использовать для выделения программного кода bold - это усложнять чтение тем, кто мог бы ответить на вопрос.
PM MAIL   Вверх
Defer
Дата 2.9.2010, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



Простите меня больше не буду незнал


enoff Пасиб буду ждать
PM MAIL   Вверх
bars80080
Дата 2.9.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Defer @  2.9.2010,  13:32 Найти цитируемый пост)
Простите меня больше не буду незнал


Defer, это было не просто так сказано, как и то что вы написали. вы же не от балды писали запрос? не думаю, что случайно потарабанив пальцами по клавиатуре можно получить осмысленный код. вы знали, что вначале слово select, затем count(*), потом from и т.д. и это знание не от божественного вмешательства, а потому что вы это где-то увидели. как запрос, так и то, в какую функцию на php надо засовывать этот запрос. неужели вы не стали читать до конца, и не разобрали как полностью надо читать результат из БД?

аналогия такая: вы приходите на урок вождения, инструктор говорит, что надо выжать сцепление, вы кричите "знаю", выжимаете сцепление, а потом задаёте вопрос: "а почему я не еду?"

можно же было вычитать полную процедуру чтения данных
PM MAIL WWW   Вверх
skyboy
Дата 2.9.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



работа с mysql через расширение mysql(все эти функции, начинающиеся с "mysql_") происходит следующим образом:
0. подключение к серверу(mysql_connect или mysql_pconnect)
1а. выполнение запроса(mysql_querymysql_exec). если запрос на выборку(select, вызов процедуры, возвращающей данные).
1б. перебор данных, путем запроса очередной порции  данных(mysql_fetch_assoc, mysql_fetch_array, mysql_fetch_object).
пункты 1а и 1б повторяются на каждом запросе.
результат выполнения каждого пункта передается в следующий пункт. т.о. то, что вернет mysql_connect(если не ошибка - false), можно передать в mysql_query; то что вернет mysql_query нужно передать в mysql_fetch_*
PM MAIL   Вверх
-=Ustas=-
Дата 2.9.2010, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Жуть...
[off]сорри за оффтоп[/off]


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Defer
Дата 2.9.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



Цитата

работа с mysql через расширение mysql(все эти функции, начинающиеся с "mysql_") происходит следующим образом:
0. подключение к серверу(mysql_connect или mysql_pconnect)
1а. выполнение запроса(mysql_query, mysql_exec). если запрос на выборку(select, вызов процедуры, возвращающей данные).
1б. перебор данных, путем запроса очередной порции  данных(mysql_fetch_assoc, mysql_fetch_array, mysql_fetch_object).
пункты 1а и 1б повторяются на каждом запросе.
результат выполнения каждого пункта передается в следующий пункт. т.о. то, что вернет mysql_connect(если не ошибка - false), можно передать в mysql_query; то что вернет mysql_query нужно передать в mysql_fetch_* 


Спасибо за справку,легче было бы если бы просто вписали в моем коде ошибки,и показали как надо.
Рассусоливать и я могу.

Всем спасибо все свободны.

Добавлено через 1 минуту и 55 секунд
Отдельное спасибо enoff что подсказал в каком направлении двигаться.
PM MAIL   Вверх
gta4kv
Дата 2.9.2010, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



Цитата(Defer @ 2.9.2010,  16:38)
легче было бы если бы просто вписали в моем коде ошибки,и показали как надо.
Рассусоливать и я могу.

Так вот, это делается (дают справку, а не готовый код) не для того, что бы поиздеваться над тобой и потратить время.
Это делается для того, что бы в пустой голове, которой еще хватает наглости хамить, людям которые тебя учат — появились какие то знания. Можешь всю жизнь ходить на готовенькое и так ничего не уметь, или пытаться что-то делать самому (в данном случае, минимальное - залезть в справку по-функциям mysql_* и разобраться в чем же проблема).

Решать тебе.

Это сообщение отредактировал(а) gta4kv - 2.9.2010, 17:34
PM MAIL   Вверх
Defer
Дата 3.9.2010, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.2.2008

Репутация: -1
Всего: -1



Цитата

Так вот, это делается (дают справку, а не готовый код) не для того, что бы поиздеваться над тобой и потратить время.
Это делается для того, что бы в пустой голове, которой еще хватает наглости хамить, людям которые тебя учат — появились какие то знания. Можешь всю жизнь ходить на готовенькое и так ничего не уметь, или пытаться что-то делать самому (в данном случае, минимальное - залезть в справку по-функциям mysql_* и разобраться в чем же проблема).

Решать тебе.


Посылать в гугл тоже все могут в данном контексте всеравно что послать человека на... Вместо того чтобы если знаешь сразу объяснить причину ошибки.
В следующий раз если нечего сказать пройди мимо и не засоряй тему выражениями аля валите в гугл, для того ведь и существуют такие форумы чтобы помогать а не в гугл посылать сразу.


Сорри за небольшой оффтоп.

Зы закройте тему она уже неактуальна.
Спасибо.
PM MAIL   Вверх
bars80080
Дата 3.9.2010, 13:44 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



дык, подсказали же: вы не полностью прочитали документацию.
если бы вы после этого спросили: "а где её можно почитать полностью?" - вам бы быстро скинули пару-тройку ссылок


PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.