Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Php. Как правильно сделать форму входа?  (Прочитано 2361 раз)

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

Оффлайн [DarkNet]Alpha

  • Автор темы
  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Решил защитить веб-интерфейс управления плеером. Сделал вот такое.
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Вкратце, как это работает: login.php передаёт player-control.php значения логина и пароля. Если они совпадают с нужными, отрисовать форму управления, иначе показать, что логин или пароль неверен.
На странице player-control.php лежит карта изображения. Ссылки передают команды методом get. Блок switch их обрабатывает и выполняет нужное действие.
(Прошу меня простить за топорность исполнения, я пока только учусь)
Проблема в том, что после нажатия любой из ссылок на карте или любой из кнопок появляется та самая надпись о том, что пароль неверен. Обнуляется $_POST.
Можно ли как-то исправить эту проблему?
« Последнее редактирование: 12 Сентября 2010, 19:17:22 от Владимир Николаевич »

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #1 : 12 Сентября 2010, 18:16:57 »
Сессия.

Оффлайн [DarkNet]Alpha

  • Автор темы
  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Php. Как правильно сделать форму входа?
« Ответ #2 : 12 Сентября 2010, 18:19:36 »
Можно подробнее или ссылок?

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #3 : 12 Сентября 2010, 18:25:41 »
Предполагалось, что ТС пойдёт в гугль и напишет "php сессии". Первая и вторая ссылки вполне годные.

Ещё должны быть кукисы, блэкдж Хотя кукисов хватит.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #4 : 13 Сентября 2010, 11:59:25 »
А я уже было подумал "какая нафиг сессия? учебный год только начался..." потом еще подумал "неужели оставили на осень?" и "студенты совсем обленились"
потом понял про какие сессии имеется в виду =)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #5 : 13 Сентября 2010, 12:42:36 »
Я делал по-другому.
По памяти так.
Страничка с паролем.
php проверяет пароли и
- или дает переход другую страницу с установкой флага о прохождении корректности пароля
- или делает вывод о неправильном пароле через messageBox и остаемся в странице пароля.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #6 : 13 Сентября 2010, 12:50:01 »
> переход другую страницу с установкой флага о прохождении корректности пароля

Установка флага где? В сессии этот флаг и ставится, и тут или кукисы, или тащить id сессии через URLы всех ссылок в виде &sessionid=blablah0aff, но это каменный век.

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #7 : 13 Сентября 2010, 12:51:12 »
- или дает переход другую страницу с установкой флага о прохождении корректности пароля
а где (каким образом) флаг устанавливается?
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #8 : 13 Сентября 2010, 13:27:16 »
Я использую ajax (точнее jQuery) и там все подгружается в divы, поэтому проблем нет принципиально, т.к. страница не перегружается, а все в нее подгружается без перезагрузки самой страницы.
Попытка перезагрузить саму страницу приведет к запросу пароля. ЧТД.
А флаг этот стоит для этой страницы, которую и хочется как-то защитить, т.к. ее используют продажники со своими БД (цен и всякой их ерундой).
« Последнее редактирование: 13 Сентября 2010, 13:31:50 от alexander.pronin »

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #9 : 13 Сентября 2010, 13:45:44 »
А, ну тогда да. Но и реализуется посложнее.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #10 : 13 Сентября 2010, 13:57:11 »
Я бы не сказал, что сложнее.
jQuery позволяет все делать проще, легче и нагляднее, позволяет не засорять html.
jQuery - это реактивный мотор к телеге (JS).
В результате веб-приложение становится как оконное приложение, но еще в добавок:
- межплатформенным
- и работающим в сети и интернете.
ЗЫ, Что-то я уже рекламой занялся.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #11 : 13 Сентября 2010, 14:04:29 »
jQuery - это реактивный мотор к телеге (JS).
Не, реактивный мотор к телеге JS это поваренная соль http://code.google.com/p/nativeclient/

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #12 : 13 Сентября 2010, 14:13:17 »
К слову.
Дальнейшее развитие - это замена php на питон на серверной стороне, типа Django.
Это сделает создание сайтов очень простым делом.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #13 : 13 Сентября 2010, 14:29:12 »
Что из вышеперечисленного есть хороший AJAX-движок?

> питон на серверной стороне
Питонохостинг или VDS за 12 руб/мес не найдёшь, а так бы да. Хотя, может быть, я бы и RoR предпочёл.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Php. Как правильно сделать форму входа?
« Ответ #14 : 13 Сентября 2010, 14:51:15 »
В jQuery ajax очень прозрачен.
Есть часть которая
- до ajax-часть, которая принимает решение об вызове или не вызове ajax
- сам вызов серверного php или загрузка xml
- пост-ajax часть - это использование полученных данных (разделение по дивам).
В других ajax библиотеках есть какие-то условности и договоренности о названиях, а в jQuery как написано, так и есть.
И никаких лишних движений делать не надо.
jQuery резко сокращает код на стороне клиента.
ЗЫ. Опять занимаюсь рекламой, но что делать, если это так на самом деле.
Забыл сказать, что php часть при использовании ajax не отличается, если используется jQuery.
« Последнее редактирование: 13 Сентября 2010, 14:54:31 от alexander.pronin »

 

Страница сгенерирована за 0.025 секунд. Запросов: 21.