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

Форум PHP

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

 

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

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

тема: Как сделать регистрацию?
 
 автор: TuX   (24.04.2005 в 23:29)   письмо автору
 
 

Встала тут такая задача. Есть главная страница index.php.
Нужно что бы при первом открытии страницы пользователь увидел регистрационную форму, если же он уже зарегистрирован, то должно вместо формы выводиться приветствие.

Логины и пароли должны браться из файла.

Я так понимаю, что нужно использовать сессии и куки. Вот только у меня беда с сессиями, вернее с тем, какой код разместить на index.php. Пока я сделал пез куков и просто прописал логин и пароль. Но что-то не идёт.


<? 
if ($log="t" || $pass="1")
    {
        echo (
"<form name=form1 method=post action=Submit><div align=center><table width=69%  border=0 cellspacing=2 cellpadding=2><tr><td><span class=txt>Логин:</span></td><td><input name=log type=text class=txt id=log><span class=pgreen><a href=#></a></span></td><td><span class=pgreen><a href=index.php>вход</a></span> </td></tr><tr><td><span class=txt>Пароль:</span></td><td><input name=pass type=text class=txt id=pass><span class=pgreen><a href=#></a></span></td><td><span class=pgreen><a href=#>регистрация</a></span></td></tr></table></div></form>");
        
    }
else
{
  
session_start();
  
$_SESSION['log'] = "$log";
  
$_SESSION['pass'] = "$pass";
  
  echo (
"Мы рады приветствовать Вас на нашем сйте!");
  echo 
$_SESSION['log'].' , -это логин<br>';
  echo 
$_SESSION['pass'].' , -это пароль';
  }
?>

   
 
 автор: cheops   (24.04.2005 в 23:35)   письмо автору
 
   для: TuX   (24.04.2005 в 23:29)
 

Хм... а register_globlas в конфигурационном файле php.ini включены?

http://www.softtime.ru/info/articlephp.php?id_article=13

   
 
 автор: TuX   (25.04.2005 в 00:32)   письмо автору
 
   для: cheops   (24.04.2005 в 23:35)
 

Да, включены и прекрасно работают в других скриптах.

   
 
 автор: cheops   (25.04.2005 в 12:40)   письмо автору
 
   для: TuX   (24.04.2005 в 23:29)
 

У вас нет кнопки подверждения - поэтому форму следует ей дополнить и чуть-чуть изменить логику, примерно вот так
<? 
if (!($_POST['log']="t" || $_POST['pass']="1")) 
    { 
        echo (
"<form name=form1 method=post action=get.php><div align=center><table width=69%  border=0 cellspacing=2 cellpadding=2><tr><td><span class=txt>Логин:</span></td><td><input name=log type=text class=txt id=log><span class=pgreen><a href=#></a></span></td><td><span class=pgreen><a href=index.php>вход</a></span> </td></tr><tr><td><span class=txt>Пароль:</span></td><td><input name=pass type=text class=txt id=pass><input type=submit name=send><span class=pgreen><a href=#></a></span></td><td><span class=pgreen><a href=#>регистрация</a></span></td></tr></table></div></form>"); 
         
    } 
else 

  
session_start(); 
  
$_SESSION['log'] = $_POST['log']; 
  
$_SESSION['pass'] = $_POST['pass']; 
   
  echo (
"Мы рады приветствовать Вас на нашем сйте!"); 
  echo 
$_SESSION['log'].' , -это логин<br>'
  echo 
$_SESSION['pass'].' , -это пароль'
  } 
?>

   
 
 автор: TuX   (25.04.2005 в 17:51)   письмо автору
 
   для: cheops   (25.04.2005 в 12:40)
 

А можно сделать так, что бы функцию кнопки выполняла например текстовая ссылка с наименование "подтвердить"? Что надо написать в коде ссылки?

   
 
 автор: cheops   (25.04.2005 в 21:26)   письмо автору
 
   для: TuX   (25.04.2005 в 17:51)
 

Возможно это можно сделать при помощи JavaScript, но не уверен, попробуйте задать этот вопрос в соответствующем разделе форума http://www.softtime.ru/forum/index.php?id_forum=4.

   
 
 автор: TuX   (26.04.2005 в 17:13)   письмо автору
 
   для: cheops   (25.04.2005 в 21:26)
 

Разобрался с сылкой вместо кнопки. Всё работает.

Но, когда вставил Ваш код, то получил вот такую бяку:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at D:\server\www\www.samoreg.ru\index.php:5) in D:\server\www\www.samoreg.ru\log_form.php on line 21

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at D:\server\www\www.samoreg.ru\index.php:5) in D:\server\www\www.samoreg.ru\log_form.php on line 21
Мы рады приветствовать Вас на нашем сйте!t , -это логин
1 , -это пароль

   
 
 автор: cheops   (26.04.2005 в 22:35)   письмо автору
 
   для: TuX   (26.04.2005 в 17:13)
 

Функция session_start() отправляет HTTP-заголовки и поэтому должна вызываться до любого вывода в окно браузер - подробности в теме по ссылке.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=2775

   
Rambler's Top100
вверх

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