Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 12:28   #1
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию Mysql +регистрация на PHP

Уважаемые граждане, прошу помощи у знающих людей, суть непонятки в следующем. Есть форма , форма пишется базу /*usr*/ в таблицу /*usr*/ соответственно в поля , имя , пароль и тд. Помоги составить запрос на проверку наличия одного из полей а точнее по имени. Или попросту объясните как обработать такой запрос и что он возвращает ??
KEV вне форума Ответить с цитированием
Старый 07.04.2009, 12:35   #2
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

форма
PHP код:
<form method="post" action=".....">
<
input type="text" name="name" value="">
</
form
обработка
PHP код:
$name $_POST['name'];
if(
strlen(trim($name)) == 0) die("Name not set."); 
Вопрос в этом?
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Старый 07.04.2009, 12:40   #3
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Видимо я не ясно объяснил суть ,
с проверкой введенных данных я разобрался, они у меня пишутся в базу, только вот я не могу догнать как проверять имя на существование в самой базе. тоесть я понимаю что это переменной присваивается запрос, и что этот запрос должен вернуть и как его обработать незнаю.
KEV вне форума Ответить с цитированием
Старый 07.04.2009, 13:26   #4
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

вопрос снят спасибо
сам запрос
Цитата:
$result = mysql_query("SELECT name FROM usr");
обработка
Цитата:
while($login = mysql_fetch_array($result))
{
exit ();
}
если чтото не так , прошу поправить !
KEV вне форума Ответить с цитированием
Старый 07.04.2009, 13:51   #5
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от KEV Посмотреть сообщение
вопрос снят спасибо
сам запрос

обработка

если чтото не так , прошу поправить !
Если вы реально собираетесь использовать этот скрипт я бы посоветовал разобраться, с более профессиональной версией... (если хотите могу дать исходник), если в качестве обучения... дело другое..

В принципе можно так наверное даже лучше, во-первых зачем нам цикл если мы заведомо знаем что нам вернется только одна запись? правильно?

// Выполняем запрос на выборку
Код:
$query = "SELECT `id`FROM `users`					WHERE `login`='{$login}' AND `password`='{$password}'	LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
Код:
// если такой пользователь нашелся
		if (mysql_num_rows($sql) == 1)
		{
// Например я заношу здесь найденного пользователя в сессию
 а затем ниже проверяю уже саму сессию на наличие юзера
		}
А вы пароль в открытом виде будете хранить?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 07.04.2009, 15:17   #6
KEV
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 29
По умолчанию

Спасибо большое за ответ , будет над чем подумать. В принципе я учусь, но и задача у меня своеобразная. Создать только регистрацию, без дальнейшего использования учетных записей именно на этом ресурсе. Мне в последствии предстоит их все перенести в полностью рабочую систему. Следовательно шифровать я не собирался, хотя если подскажете как это изображается то буду очень рад.
KEV вне форума Ответить с цитированием
Старый 07.04.2009, 15:39   #7
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от KEV Посмотреть сообщение
Спасибо большое за ответ , будет над чем подумать. В принципе я учусь, но и задача у меня своеобразная. Создать только регистрацию, без дальнейшего использования учетных записей именно на этом ресурсе. Мне в последствии предстоит их все перенести в полностью рабочую систему. Следовательно шифровать я не собирался, хотя если подскажете как это изображается то буду очень рад.
Если вы хотите переносить ее в рабочею систему, то я советую посмотреть немного в будещее, дабы не переписывать потом:

1) Безопасность
2) Еще раз безопасность но уже пароля...

Давайте сделаем так я дам вам исходник, если чего не понятно спрашивайте.
Вложения
Тип файла: rar auth.rar (4.6 Кб, 21 просмотров)
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 07.04.2009, 15:47   #8
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

Если так, то лучше выбирать количество

select count(*) from table where login = 'abcdef';

Соответственно, если больше нуля, то такой пользователь есть.
Запрос отработает быстрее.
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Старый 07.04.2009, 16:01   #9
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от wyvern Посмотреть сообщение
Если так, то лучше выбирать количество

select count(*) from table where login = 'abcdef';

Соответственно, если больше нуля, то такой пользователь есть.
Запрос отработает быстрее.
Простите на много) можно упростить

Код:
$query = "SELECT `id` FROM `users` WHERE `login`='{$login}
или
Код:
$query = "SELECT `login` FROM `users` where 'login'='{$login}
Речь то идет не о скорости обработки запросов...

p/s Если в таблице пару тысяч записей?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 07.04.2009, 16:13   #10
wyvern
Форумчанин
 
Аватар для wyvern
 
Регистрация: 24.03.2009
Сообщений: 215
По умолчанию

Ну во-первых логин должен иметь констрейнт на юник.
Во-вторых, если в таблице у тебя пара миллионов записей, то разница крайне ощутима...
wyvern@localhost:~$ sudo emerge --unmerge world
wyvern вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySQL+php+delphi k13 Работа с сетью в Delphi 7 16.05.2009 18:02
PHP and MySQL ошибка NecRoMat PHP 13 19.01.2009 18:06
PHP Поиск в MySQl LeoN PHP 10 08.07.2008 07:10
mysql & php kkkggg PHP 1 08.08.2007 19:55