Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема при создании гостевой книги

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Проблема при создании гостевой книги
Romero
Отправлено: 18 Февраля, 2011 - 19:53:33
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Здравствуйте форумчани! Столкнулся с проблемой... И так, начал я писать гостевую книгу. У меня все работает, ну вот я решил сделать так, чтобы когда админ авторизируется после каждого сообщения выводило емеил и ссылку чтобы ответь. Решил сделать так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <? if(isset($_SERVER['PHP_AUTH_USER'])) {echo "$s[email] | <a href=?action=answer&id=$s[id]>Відповісти(на сайті)</a><br>";} ?>
. Файл гостевой лежить у папке Engine. Не работало. Уже даже перемещал у папку admin. Заработало, но только тогда, когда вызывал именно тот файл гостевой, когда функцией include вывожу файл на главной не работает. Вот скрипт авторизации:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2.  
  3. include ('../config.php');
  4. if(!isset($_SERVER['PHP_AUTH_USER'])) {
  5.   Header("WWW-Authenticate: Basic realm=\"Admin Page\"") ;
  6.   Header("HTTP/1.0 401 Unauthorized" ) ;
  7.   exit(); } else {
  8.  
  9.   $_SERVER['PHP_AUTH_USER']=mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  10.   $_SERVER['PHP_AUTH_PW']=mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  11.  
  12.  
  13.   $ask=mysql_query("SELECT password FROM admin_user WHERE user='$_SERVER[PHP_AUTH_USER]'");
  14.  
  15.   if(!$ask) { Header("WWW-Authenticate: Basic realm=\"Admin Page\"") ;
  16.   Header("HTTP/1.0 401 Unauthorized" ) ;
  17.   exit();};
  18.  
  19.   if(mysql_num_rows($ask)==0) {
  20.     Header("WWW-Authenticate: Basic realm=\"Admin Page\"") ;
  21.      Header("HTTP/1.0 401 Unauthorized" ) ;
  22.      exit();};
  23.          
  24.   $pass=mysql_fetch_array($ask);
  25.   if(md5($_SERVER['PHP_AUTH_PW']) != $pass['password']) {
  26.      Header("WWW-Authenticate: Basic realm=\"Admin Page\"") ;
  27.      Header("HTTP/1.0 401 Unauthorized" ) ;
  28.      exit();}}
  29.  
  30.  
  31.  
  32. ?>


Ну и собственно скрипт вывода записей у гостевой:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. include('config.php');
  3.  
  4. $sel_writes=mysql_query("SELECT * FROM gbook ORDER BY id DESC");
  5. if (mysql_num_rows($sel_writes)==0) {echo "Записів гостьової книги не має!";} else {
  6.  
  7. while($s=mysql_fetch_array($sel_writes)) { ?>
  8.  <p>Добавив: <? echo $s['name']; ?>, <? echo $s['date']; ?><br>
  9.   <? echo $s['text']; ?><br>
  10.   <? if(isset($_SERVER['PHP_AUTH_USER'])) {echo "$s[email] | <a href=?action=answer&id=$s[id]>Відповісти(на сайті)</a><br>";} ?>
  11.   <? if($s['answer']!='') {echo $s['answer']; }?>
  12. <? }} ?>

Помогите решить проблему! Спасибо!

(Отредактировано автором: 18 Февраля, 2011 - 19:55:11)

 
 Top
voskan
Отправлено: 18 Февраля, 2011 - 20:07:17
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




по мне лучше с помощью сессии замутить все а потом проверить если это админ то показывать права.

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_SESSION['login']) and $_SESSION['login']==$admin)
  3.   {
  4.   echo "Права админа!";
  5.   }
  6.  
  7.  

(Добавление)
могу выложить скрипт гостевой с постраничной навигацией написан мнойУлыбка
(Добавление)
если надо напиши.

(Отредактировано автором: 18 Февраля, 2011 - 20:07:40)

 
 Top
Okula
Отправлено: 18 Февраля, 2011 - 23:24:29
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Romero, зачем так извращатся с авторизацией, куда лучше на сессиях, только желательно не так как во 2 посте написано, а сделать хеш и проверять по нему уже.
 
 Top
Romero
Отправлено: 19 Февраля, 2011 - 10:57:41
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




А как мне реализировать выход из админпанели? Ну всмысле сессию я разрушыл, а остальное? ну чтобы надо было наново авторизироватся....

(Отредактировано автором: 19 Февраля, 2011 - 11:03:36)

 
 Top
JustUserR
Отправлено: 19 Февраля, 2011 - 21:06:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Romero пишет:
А как мне реализировать выход из админпанели? Ну всмысле сессию я разрушыл, а остальное? ну чтобы надо было наново авторизироватся....
В случае использование средств базовой HTTP-авторизации пользователей для осуществления создания аутенфикационной системы на целевом web-сайте - необходимо обеспечивать выполнение двух групп операций основанных на получении ассоциированных информационных полей в PHP-приложении и проведении их контроля в реальном HTTP-документе - более подробная информация предоставлена здесь http://www[dot]netangels[dot]ru/support/php-http-auth/


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB