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

Форум PHP

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

 

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

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

тема: Проблемы со скриптом авторизации.
 
 автор: mishaMC   (26.06.2006 в 17:37)   письмо автору
 
 

Делаю аунтефикацию пользователей и никак не пойму почему не работает.

Вот первый "входной" скрипт:



<?php 
 Error_Reporting
(E_ALL & ~E_NOTICE);
session_start(); 
?> 
<form action=handler.php method=post> 
Имя посетителя : <input type=text name=name value=<?php echo $_SESSION['user']; ?>><br> 
Пароль : <input type=password name=password value=<?php echo $_SESSION['password']; ?>><br> 
<input type=submit value=Отправить> 
</form> 
<?php 
  
// Если посетитель "вошёл" - приветствуем его 
  
if(isset($_SESSION['user']))
  {
   echo 
"Здравствуйте, ".$_SESSION['user']."!"
  echo 
"<br><a href=http://localhost/index/>Admin</a>";
  }
?>


Он работает, связывается с базой данных сверяет данные и выводит ссылку на следующую страницу, переходим по ссылке на следующую страницу, которая имеет такую структуру:




<?php 
 Error_Reporting
(E_ALL & ~E_NOTICE);
session_start();
?> 
<form action=handler.php method=post> 
Имя посетителя : <input type=text name=name value=<?php echo $_SESSION['user']; ?>><br> 
Пароль : <input type=password name=password value=<?php echo $_SESSION['password']; ?>><br> 
<input type=submit value=Отправить> 
</form> 
<?php 
  
// Если посетитель "вошёл" - приветствуем его 
  
if(isset($_SESSION['user']))
  {
// Здесь идет код страницы, который открывает файл для редактирования и потом сохраняет.

else
{
 echo 
"<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL='index.php'> 
                 </HEAD><body>"

}
?>


Так вот этот скрипт не работает, у хостера register_globals off. Он просто выдает пустую страницу.

   
 
 автор: valenok   (26.06.2006 в 18:03)   письмо автору
 
   для: mishaMC   (26.06.2006 в 17:37)
 

С.M hell Riser

   
 
 автор: hell_riser   (26.06.2006 в 18:05)   письмо автору
 
   для: mishaMC   (26.06.2006 в 17:37)
 

Попробуйте убрать кавычку вот в этом куске кода

echo "<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL='index.php'><!-- перед URL --> 
                 </HEAD><body>";

пропишите так:

echo "<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> 
                 </HEAD><body>";

   
 
 автор: mishaMC   (26.06.2006 в 18:25)   письмо автору
 
   для: hell_riser   (26.06.2006 в 18:05)
 

Прописал, все равно не работает.

   
 
 автор: valenok   (26.06.2006 в 18:46)   письмо автору
 
   для: mishaMC   (26.06.2006 в 17:37)
 

Странно. У меня всё работает:

   
 
 автор: mishaMC   (26.06.2006 в 19:09)   письмо автору
 
   для: valenok   (26.06.2006 в 18:46)
 

Привожу файл полностью.

<?php 
session_start
();
?> 
<form action="handler.php" method="post"> 
Имя посетителя : <input type="text" name="name" value=<?php echo $_SESSION['user']; ?><br> 
Пароль : <input type="password" name="password" value=<?php echo $_SESSION['password'];?><br> 
<input type="submit" value="Отправить"> 
</form> 
<?php 
// Если посетитель "вошёл" - приветствуем его 
  
if(isset($_SESSION['user']))
  {
include(
"../FCKeditor/fckeditor.php") ;
<
html>
<
head>
<
title>Редактирование контактной информации</title>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</
head>
<
body>
<?
  
$body fopen("text.txt","r");
  if(!
$body)
  {
echo(
"Ошибка открытия файла");
    };
$buff=fread($bodyfilesize("text.txt"));
?>

<h2>Редактирование контактной информации:</h2>
<form name="form1" method="post" action="verifing.php">
  <?
$oFCKeditor 
= new FCKeditor('body') ;
$oFCKeditor->BasePath '/FCKeditor/';
$oFCKeditor->Value = ($buff);
$oFCKeditor->Create() ;
?>
 <p>
 <input type="submit" name="Submit" value="Сохранить">
</p>
</form>
</body>
</html>
<?
   
}
   
?>
<?
else 
{ echo 
"<HTML><HEAD> 
                  <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> 
                 </HEAD><body>"


?>

   
 
 автор: valenok   (26.06.2006 в 18:52)   письмо автору
 
   для: mishaMC   (26.06.2006 в 17:37)
 

Кстати, форма то зачем?

   
 
 автор: mishaMC   (26.06.2006 в 19:10)   письмо автору
 
   для: valenok   (26.06.2006 в 18:52)
 

Чтобы авторизация пользователя производилась.

   
 
 автор: valenok   (26.06.2006 в 19:33)   письмо автору
 
   для: valenok   (26.06.2006 в 18:52)
 

На этой странице пользователь авторизацию не пройдёт.
Он тут либо уже авторизован, либо его выкинет на index.php
Тоесть тут форма бесполезна..

   
 
 автор: hell_riser   (26.06.2006 в 19:09)   письмо автору
 
   для: mishaMC   (26.06.2006 в 17:37)
 

Попробуйте убрать E_NOTICE Может чего подскажет

   
 
 автор: mishaMC   (26.06.2006 в 19:11)   письмо автору
 
   для: hell_riser   (26.06.2006 в 19:09)
 

Уже...

   
 
 автор: valenok   (26.06.2006 в 19:42)   письмо автору
 
   для: mishaMC   (26.06.2006 в 19:11)
 


<?php 
session_start
(); 

if(!isset(
$_SESSION['user'])) {die("<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> ");}
  
require_once(
"../FCKeditor/fckeditor.php") ; ?>

<html> 
<head> 
<title>Редактирование контактной информации</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 

<? 

$buff
=file_get_contents('text.txt') OR die('Opennig error'); 
?> 

<h2>Редактирование контактной информации:</h2> 
<form name="form1" method="post" action="verifing.php"> 
 <? 

$oFCKeditor 
= new FCKeditor('body') ; 
$oFCKeditor->BasePath '/FCKeditor/'
$oFCKeditor->Value = ($buff); 
$oFCKeditor->Create() ; 
?> 

<p> 
<input type="submit" name="Submit" value="Сохранить"> 
</p> 
</form> 
</body> 
</html> 

   
 
 автор: mishaMC   (26.06.2006 в 20:13)   письмо автору
 
   для: valenok   (26.06.2006 в 19:42)
 

Все отлично, только этот участок кода приводит к постоянной перегрузке страницы:


if(!isset($_SESSION['user'])) {die("<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> ");} 


Так что я заменил его на

if(!isset($_SESSION['user'])) {die("<font color=red>Несанкционированный доступ к странице!</font>");} 


Спасибо, друзья, теперь все работает!

   
 
 автор: valenok   (26.06.2006 в 22:06)   письмо автору
 
   для: mishaMC   (26.06.2006 в 20:13)
 

дык дык дык.
Та страница и была index.php ?????

   
Rambler's Top100
вверх

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