Автор Тема: Не дефинирани дефиниции ?  (Прочетена 263 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

lqlqlq

  • Full Member
  • ***
  • Благодарности
  • -Казани: 30
  • -Получени: 1
  • Публикации: 234
Не дефинирани дефиниции ?
« -: 21 Август 2013, 19:58:02 »
[Wed Aug 21 14:06:42 2013] [error] [client 127.0.0.1] PHP Notice:  Undefined index: PHP_AUTH_USER in /var/www/cp-adm/auth.php on line 4
[Wed Aug 21 14:06:42 2013] [error] [client 127.0.0.1] PHP Notice:  Undefined index: PHP_AUTH_PW in /var/www/cp-adm/auth.php on line 5

Код:
<?php
$valid_passwords 
= array ("user" => "pass"); //Масив с потребителите, които ще имат достъп до админ панела
$valid_users array_keys($valid_passwords);
$user $_SERVER['PHP_AUTH_USER'];
$pass $_SERVER['PHP_AUTH_PW'];

$validated = (in_array($user$valid_users)) && ($pass == $valid_passwords[$user]);

if (!
$validated) {
  
header('WWW-Authenticate: Basic realm="AdminPanel"');
  
header('HTTP/1.0 401 Unauthorized');
  die (
"You dont have permission to view this page!");
exit;
}
?>

Къде може да е проблема и ако можете да ми кажете, как да направя бутон "Изход" на този метод, ако въобще е възможно :)

edit:
Оправих се, ето как трябва да изглежда:
<?php
$valid_passwords 
= array ("user" => "pass"); //Масив с потребителите, които ще имат достъп до админ панела
$valid_users array_keys($valid_passwords);

$user = isset ($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
$pass = isset ($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';

$validated = (in_array($user$valid_users)) && ($pass == $valid_passwords[$user]);
if (!
$validated) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
die (
'Not authorized');
}
?>

Само ако може някой да каже, как да се направи бутон за логаут.
« Последна редакция: 21 Август 2013, 20:05:40 от lqlqlq »

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Не дефинирани дефиниции ?
« Отговор #1 -: 21 Август 2013, 23:15:30 »
Стрелям на тъмно.  Бутона лог аут е просто нещо  чисто като концепция.  Прави се така
Код: HTML
  1. <a href="logout.php">Logout</a>
  2.  
В logout.php  унищожаваш сесията на въпросния потребител и го пренасочваш към някаква страница. В моя код е Login. php
Код: PHP
  1. header('Location: login.php');
  2.  
Toва е най-простия начин. Не знам дали за твоето приложение ще ти върши работа, но ако има нещо питай.