Авторизация

Prog_PHP

Guest
Авторизация

есть код:
PHP:
<?php
  function authenticate() {
   header('WWW-Authenticate: Basic realm="Test Authentication System"');
   header('HTTP/1.0 401 Unauthorized');
   echo "Вы должны ввести корректный логин и пароль для получения доступа к ресурсу \n";
   exit;
  }
 
  if (!isset($_SERVER['PHP_AUTH_USER']) ||
     ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   authenticate();
  } 
  else {
   echo "<p>Добро пожаловать: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo "Предыдущий логин: {$_REQUEST['OldAuth']}";
   echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
   echo "<input type='hidden' name='SeenBefore' value='1' />\n";
   echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo "<input type='submit' value='Авторизоваться повторно' />\n";
   echo "</form></p>\n";
  }
?>
он выдает окно с просьбой ввести логин и пароль, а как сделать так, чтобы логин и пароль вводились прямо на страничке?
 

BRat

o_0
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
убери это
 

Prog_PHP

Guest
Автор оригинала: BRat
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
убери это
тогда переменые что я ввожу через эдит вообще пустые и он пишиет что типо логи и пароль не введены

-~{}~ 12.03.05 11:18:

Автор оригинала: Мутник
используй сессии
а можешь накидать примерную часть кода, а то я англ плохо знаю, а сессии никогда не использова?
 

Мутник

Новичок
я думаю, что если ты на форуме поищешь получше - то найдешь все, что тебе надо...


примерно так, но я это не проверял, главное идея...
PHP:
define("USERNAME", "username");
define("PASSWORD" "password")

if (($_POST["username"] == USERNAME) && ($_POST["password"] == PASSWORD)){
$_SESSION["auth"] = "ok";
}


а потом пишешь:

if ($_SESSION["auth"] == "ok"){
show some content;
}else{
echo "authenticate, please";
}
в общем, пробуй.
 

Prog_PHP

Guest
Автор оригинала: Мутник
я думаю, что если ты на форуме поищешь получше - то найдешь все, что тебе надо...


примерно так, но я это не проверял, главное идея...
PHP:
define("USERNAME", "username");
define("PASSWORD" "password")

if (($_POST["username"] == USERNAME) && ($_POST["password"] == PASSWORD)){
$_SESSION["auth"] = "ok";
}


а потом пишешь:

if ($_SESSION["auth"] == "ok"){
show some content;
}else{
echo "authenticate, please";
}
в общем, пробуй.
а как сделать так чтоб при переходе на другую страницу он опять не требовал авторизации?
 

Prog_PHP

Guest
Автор оригинала: Мутник
за тебя тут никто думать не будет.

почитай PHP FAQ: Сессии. Подробное описание работы и объяснение механизма.
thx за русский мануал

-~{}~ 12.03.05 12:29:

Автор оригинала: Мутник
за тебя тут никто думать не будет.

почитай PHP FAQ: Сессии. Подробное описание работы и объяснение механизма.
я вот тут подумал, тебе надо было добавить одну строчку...хотя ты сделал правельно, теперь я немного понял сессии, а так писал бы без толку что попало. спасибо
 

Мутник

Новичок
в том то и дело, что я добавил бы одну строку, а ты потом бы ничего так и не понял....
 
Сверху