Автор Тема: Аутенфикации и приветствие  (Прочитано 6958 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« : 24 Июля 2002, 16:11:33 »
Здравствуйте, люди добрые.. Помогите пожалуйста.. А вопрос следующий..:
У меня есть таблица в MySql с полями имя, фамилия, username, password. И есть страница аутенфикации пользователей. Там они вводят свой username и password. Если записи введенные ими совпадают с записями из базы, то происходит аутенфикация и они попадают на другую страницу. Но вопрос, собственно говоря, в другом: Как на странице, куда они попадают написать приветствие типа Здравствуйте, $имя $фамилия. У меня только получалось Здравствуйте, $username, но это не очень красиво...! (Помойму надо написать еще один запрос типа $sql2... или как?).
Спасибо...!:confused:

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #1 : 24 Июля 2002, 16:20:09 »
Дергай их имена из базы и пиши.
AS IS...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Аутенфикации и приветствие
« Ответ #2 : 24 Июля 2002, 17:10:49 »
Состряпай запрос типа

$query 
"SELECT COUNT(*) AS num, CONCAT(name, surname) as full_name FROM <TABLE> WHERE username = \'$username\' AND password = \'$password\' GROUP BY full_name LIMIT 2;

Потом проверь, чтобы num был равен 1, ну, дальше, я думаю, разберешься.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #3 : 24 Июля 2002, 21:35:18 »
АААА. А можно немного поточнее и желательно побольше комментариев... Если не сложно конечно...
Спасибо!

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Аутенфикации и приветствие
« Ответ #4 : 24 Июля 2002, 21:48:30 »
COUNT - считает количество выбранных записей. Если оно не равно 1, то значит дело не чисто - выдаешь ошибку.
CONCAT - производит конкатенацию значений полей. Там, конечно, следовало бы написать CONCAT(name, \' \', surname), полученное значение сохраняем в full_name, к которой ты можешь обратиться в скрипте.
Дальше, я думаю, понятно.
Да, LIMIT можно не использовать, но выбирать больше двух записей просто не имеет смысла.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #5 : 24 Июля 2002, 22:28:07 »
GotZfild
Ну зачем ты человеку такие сложности пишешь?
Он в ногах своих путается, а ты его бегать заставляешь.

МИША!!!
Я тебе давал ссылки на сайты для новичков.
Посмотри там примеры для работы с базами данных!
Это же азы - извлечение данных из базы! Запрос имени и фамилии!
собственно, запрос-то тебе новый писать не надо.
Надо просто среди запрашиваемых полей, написать и фамилию.
пароль и имя сравнить, имяи фамилию - вывести.
Какие тут тебе еще комментарии нужны?

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #6 : 25 Июля 2002, 10:56:04 »
RomikChef ,
Спасибо за ссылки... Обязательно посмотрю

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Аутенфикации и приветствие
« Ответ #7 : 25 Июля 2002, 12:46:00 »
RomikChef
Хотел как лучше... И объяснил вроде внятно.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #8 : 26 Июля 2002, 15:16:55 »
Ну почитал я эти ссылки, а толкового почти неичего нету.?
А вопрос-то остался....
Причем ответ нужен срочно..... Что же делать???

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #9 : 26 Июля 2002, 15:21:11 »
Ну давай разбираться.
Как ты получаешь username на новой странице?

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #10 : 27 Июля 2002, 10:04:38 »
RomikChef  

Ну вообщем дело такое: Есть таблица с полями id, username, password, l_name, name

Есть запрос
$sql = "SELECT * FROM $table_name
   WHERE username = "$username" AND password = password("$password")
";


А затем уже в самом тексте (все еще продолжается скрипт): Здравствуйте, $username
А надо чтобы было что -то типа: Здравствуйте l_name, name

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #11 : 27 Июля 2002, 11:05:44 »
Зачем тебе второй sql запрос, если ты УЖЕ запрашиваешь все поля, в том числе и имя и фамилию.

Зачем ты врешь, что прочитал все сайты?
Вот, здесь как раз объясняется, как выводить данные из MySQL
http://www.myphp.dem.ru/lessons/index.php?16
прочти и выведи свои долгожданные имя и фамилию.

Оффлайн Михаил

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #12 : 28 Июля 2002, 13:36:11 »
RomikChef  

Пытался сделать вот так:

$sql = "SELECT l_name, name, username, password FROM $table_name
WHERE username = "$username" AND password = password("$password")
";



Здравствуйте, l_name, name  ----- Но не получилось.....

На ссылке в 16 уроке, еще была такая запись:

$result = mysql_query("SELECT l_name, name FROM $table_name", $link);
$first_row = mysql_fetch_array($result);
echo "Первая запись:
".$l_name[\'l_name\']." - ".$name[\'name\']."
";

Здравствуйте $l_name, name
Тоже вроде пытался... Запрос ($sql) оставил таким же, а остальное поменял. Но не получилось.....
Похоже мне не дано знать php........ :-(

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #13 : 28 Июля 2002, 14:22:26 »
Цитировать
Похоже мне не дано знать php

Не бойся, друг, еще не все потеряно :)
В приведенном тобой примере фишка в том, что ты получаешь значения выборки функцией mysql_fetch_row. Дык вот, она тебе возвращает ОБЫКНОВЕННЫЙ массив. А в печати ты обращаешься к ней как к АССОЦИАТИВНОМУ.
Так что либо обращайся по цифровому индексу (0,1,...), либо испольуй mysql_fetch_assoc()
TANSTAAFL

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Аутенфикации и приветствие
« Ответ #14 : 28 Июля 2002, 14:29:02 »
Как-то ты путанно рассказываешь. приводишь скрипты, но непонятно, чьи они.
приведи весь свой скрипт, точнее не весь, а все строкие между
$sql = "SELECT
и
Здравствуйте $l_name, name

 

Sitemap 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