Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autoryzacja
Forum PHP.pl > Forum > Gotowe rozwiązania
Łukasz Sandelewski
chce zrobic autoryzacje na stronie !!!
mam problem !!
po wpisaniu przykladu z manuala :


<html>
<head>
</head>
<body>
<?php
function authenticate() {
header( "WWW-Authenticate: Basic realm="Testowy system autoryzacji"");
header( "HTTP/1.0 401 Unauthorized");
echo "Musisz podać poprawny login i hasło by wejść na tę stronęn";
exit;
}

if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo "</p>Witaj: $PHP_AUTH_USER<br>";
echo "Poprzenio: $OldAuth";
echo "<form action="$PHP_SELF" METHOD=POST>n";
echo "<input type="hidden" name="SeenBefore" value="1">n";
echo "<input type="hidden" name="OldAuth" value="$PHP_AUTH_USER">n";
echo "<input type="submit" value="Re Authenticate">n";
echo "</form></p>n";
}
?>


</body>
</html>


wystepuje taki blad w :


Warning: Cannot add header information - headers already sent by (output started at c:apachehtdocsuwierzytelnianie.php:5)
in c:apachehtdocsuwierzytelnianie.php on line 7

Warning: Cannot add header information - headers already sent by (output started at c:apachehtdocsuwierzytelnianie.php:5)
in c:apachehtdocsuwierzytelnianie.php on line 8
eS...
hmmm cos z header porombałes, tak wywnioskowałem z error'a , przepatrz jeszcze raz manuala
Seth
UZYWAJ BBCODE'U :!:
Temat kompletnie nie na PRO. Przenosze do Scrypty.
dob
wysyłasz nagłówki po tekscie który trafia do przeglądarki (<head> <html> itp.) poczytaj w manualu o co chodzi z funkcją header
Łukasz Sandelewski
<?php
function authenticate() {
header( "WWW-Authenticate: Basic realm="Testowy system autoryzacji"");
header( "HTTP/1.0 401 Unauthorized");
echo "Musisz podać poprawny login i hasło by wejść na tę stronęn";
exit;
}

if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo "</p>Witaj: $PHP_AUTH_USER<br>";
echo "Poprzenio: $OldAuth";
echo "<form action="$PHP_SELF" METHOD=POST>n";
echo "<input type="hidden" name="SeenBefore" value="1">n";
echo "<input type="hidden" name="OldAuth" value="$PHP_AUTH_USER">n";
echo "<input type="submit" value="Re Authenticate">n";
echo "</form></p>n";
}
?>

<html>
<head>
</head>
<body>


</body>
</html>

Poczytalem manuala i usunolem wszystkie nieporzebne linie z przed header'a !!
po czym

wystepuje taki blad w :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

--------------------------------------------------------------------------------

Apache/1.3.23 Server at localhost Port 80


a w pliku error.log
wypisuje takie cos !!

[Sun Jul 20 22:26:38 2003] [error] [client 127.0.0.1] malformed header from script. Bad header=HTTP/1.0 401 Unauthorized: c:/apache/php/php.exe


Pomozcie poczatkujacemu !!!
bo juz wiele nerwow zjadlem z Apachem !!!
a teraz jeszcze to mi wyskakuje !! winksmiley.jpg
uboottd
Zrob testowy skrypt w ktorym bedzie tylko odwolanie do phpinfo(),. Po odpaleni w rezultacie sprawdz czy Server API jest Apache czy CGI. Jesli to drugie i nie masz na to wplywu to zapomnij o tej metodzie autoryzacji.
spenalzo
Mogę się mylić, ale spróbuj:
- daj header z 401 przed wywołanie autoryzacji
- a czasem to niejst HTTP 1.1?
MaKaO
Na niektórych serwerach nie da się skorzystać z tej metody autoryzacji... Tu chyba chodzi o to o czym napisał Ubotttd...
Łukasz Sandelewski
niestety CGI !!!!
Poniewaz urzywan php Triad czy jak mu tam bylo !!
To teraz rodzi sie pytanie ktory serwer zassac z neta by pracowal z tym skryptem questionmark.gif?
MaKaO
Apache powinien działać... Jak chcesz ściagnij gotowy: [LINK]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.