Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вопрос по авторизации и регистрации... (кажись такого не было...)
 
 автор: 10100100   (21.09.2005 в 16:38)   письмо автору
 
 

Приветствую всех!
У меня такой вопрос!
У меня есть форма для авторизации пользователей, осуществляется это действо следующим образом: вводится логин и пароль в форму, затем это всё методом ПОСТ отправляется обработчику, который открывает файл с названием того логина который был введён только что, но вот проблема, если такого фала не существует мне нужно чтобы выводилось следующее сообщение пользователю что то вроде «Пользователя с таким именем не существует» и снова выводилась форма для авторизации… вот такая вот загогулина, да и ещё вот что…
При регистрации нового пользователя создаётся файл с введёнными данными и называется он по имени которое ввёл пользователь, и надо сделать так чтобы если вдруг такой пользователь существует выдавать сообщение типа «пользователь с таким именем уже существует» и снова форма регистрации…
вот и последний третий вопрос.
Необходимо чтобы после регистрации и авторизации всё заносилось в «Печенья» (Куки), и чтобы пользователь мог не авторизовываться некоторое время…

И если не трудно подскажите как сделать чтобы некоторые сслыки на сайте открывались только если пользователь авторизован…

По сути мне прост не обходимо знать как определить авторизован ли пользователь и надо знать ещё существует ли файл с указанным именем или нет… вот однако так… буду рад если Вы мне поможете, заранее благодарю!

   
 
 автор: P@Sol   (21.09.2005 в 16:46)   письмо автору
 
   для: 10100100   (21.09.2005 в 16:38)
 

для проверки файла на существование надо использовать функцию file_exists($file);

после авторизации пользователя заводи сессию или куку, и по ней смотри если она существует, то показывай информацию, не существует - не показывай

   
 
 автор: 10100100   (21.09.2005 в 18:25)   письмо автору
 
   для: P@Sol   (21.09.2005 в 16:46)
 

вот а немного по конкретнее можно, я в этом пока не совсем хорошо парю... как залезть в куку и куда вставлять то что показывать надо, показывать то Инклудом надо да? а можно сделать так что б показывать не инклудом а на самой странице чтоб просто открывался якорь?

   
 
 автор: cheops   (21.09.2005 в 22:43)   письмо автору
 
   для: 10100100   (21.09.2005 в 18:25)
 

Примерно следующим образом
<?php
if(!file_exists($login)) exit("Извините, такого пользователя не существует");
else
{
  
// Открываем файл
  
$fd fopen($login"r");
  
// ... и т.д.
}
?>

   
 
 автор: 10100100   (22.09.2005 в 16:17)   письмо автору
 
   для: cheops   (21.09.2005 в 22:43)
 

спасибо большое с помощью этого скрипта я предотвратил так же повторную регистрацию того же ника что уже существует, но как мне залезть в куку чтобы посмотреть авторизован ли пользователь и в связи с этим выводить что либо?

   
 
 автор: P@Sol   (22.09.2005 в 17:05)   письмо автору
 
   для: 10100100   (22.09.2005 в 16:17)
 

<?
if (login($username$passwd)) //тут надо проверить вошел пользователь или нет
                
{
                                
setcookie ("valid_user"$usernametime()+604800); // если вошел записываем в куку его логин 
                
}
 else 
header("Location: index.php"); //если не вошел, то перебрасываем его на какую-нить страницу

чтобы проверить вошел он или нет
<?
if ($_COOKIE["valid_user"]) //если кука есть
показываем то что он должен видеть}

я рекомендую тебе пока пользовать сессии

http://www.softtime.ru/bookphp/gl8_1.php

   
 
 автор: 10100100   (22.09.2005 в 17:09)   письмо автору
 
   для: P@Sol   (22.09.2005 в 17:05)
 

огромное спасибо! Получается "login" - это и есть проверка на то введены ли те или иные значения - так?

Я вот тоже подумываю о Сессиях - это кажись надёжнее и дольше хранится если я правильно понял... вот щас сижу как раз про них читаю, тяжело всётаки, только начал ведь!

а вот почему мне "пока" надо использовать Сессии? какая причина?

   
 
 автор: P@Sol   (22.09.2005 в 17:16)   письмо автору
 
   для: 10100100   (22.09.2005 в 17:09)
 

login - да это у меня функция проверки, вошел пользователь или нет

сессии работают, пока ты не закрыл браузер, куки можно хранить долго:)...почему пока куки?! хз..принцеп действия одинаков...хотя можно начинать и с куков (но надо предупреждать пользователя что ты его собираешься сохранить в куку - это раз, и второе надо проверить - включены у него куки или нет).. сессии работают всегда:)

   
 
 автор: 10100100   (22.09.2005 в 18:22)   письмо автору
 
   для: P@Sol   (22.09.2005 в 17:16)
 

всмысле - "у меня"? а у других это по другому пишется чтоли?

блин - так куки получается надёжнее а то так чел закроет браузер и ему придётся снова авторизовываться.... блин - обломно, не так ли?

   
 
 автор: 10100100   (23.09.2005 в 15:07)   письмо автору
 
   для: P@Sol   (22.09.2005 в 17:05)
 

эта сволоч на запятые ругается..
Parse error: parse error, unexpected ',' in z:\home\localhost\www\6\testform.php on line 14

   
 
 автор: cheops   (23.09.2005 в 15:12)   письмо автору
 
   для: 10100100   (23.09.2005 в 15:07)
 

Прикрепите скрипт к сообщению - там просто где-то ошибка в синтаксисе (необязательно связанная с запятой)...

   
 
 автор: 10100100   (23.09.2005 в 16:51)   письмо автору
 
   для: cheops   (23.09.2005 в 15:12)
 

так, ну эту часть я кажись отладил, а вот как всё таки корректно проверить создались лди куки и с помощью этого ВЫВОДИТЬ ИЛИ НЕ ВЫВОДИТЬ ТУ ИЛИ ИНУЮ ИНФУ?

   
 
 автор: cheops   (23.09.2005 в 22:54)   письмо автору
 
   для: 10100100   (23.09.2005 в 16:51)
 

Для этого необходимо проверить содержимое массива $_COOKIE - имеется ли там установленная переменная или нет.

   
 
 автор: 10100100   (23.09.2005 в 17:51)   письмо автору
 
   для: cheops   (23.09.2005 в 15:12)
 

Я сам справился :)) СПАСИБО ВАМ ЗА ВАШУ РАБОТУ ГОСПОДА! ВАШ ПОРТАЛ ЕДИНСТВЕННЫЙ КОТОРЫЙ ДЕЙСТВИТЕЛЬНО ПОМОГАЕТ!!!!!

   
 
 автор: BArt Simpson   (21.09.2005 в 16:47)   письмо автору
 
   для: 10100100   (21.09.2005 в 16:38)
 


<?
if(file_exists("$dist/$file")) 

fopen("$dist/$file","rb");
}
else
{
  echo(
"Пользователя с таким именем не существует");
}    

?>

   
 
 автор: 10100100   (21.09.2005 в 18:26)   письмо автору
 
   для: BArt Simpson   (21.09.2005 в 16:47)
 

а что есть $dist? - путь к файлу чтоли? или что это вообще?
и что значит "rb"

расшифруйте пожалуйста...

   
 
 автор: $OMEGA   (22.09.2005 в 00:48)   письмо автору
 
   для: 10100100   (21.09.2005 в 18:26)
 

269484288 - rb - значит - read binary (читать бинарно), если никуешься бинарно

[поправлено модератором]

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования