Hi Leute,
ich wollte mich mit dem Thema login via PHP Header (PHP_AUTH_USER,_PW) befassen. (PHP läuft nicht als cgi!!!)
Leider kommen bei mir folgende Fehlermeldungen:
Warning: Cannot modify header information - headers already sent by (output started at /home/twa/public\_html/stechuhr/headerpw.php:1) in /home/twa/public\_html/stechuhr/headerpw.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /home/twa/public\_html/stechuhr/headerpw.php:1) in /home/twa/public\_html/stechuhr/headerpw.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at /home/twa/public\_html/stechuhr/headerpw.php:1) in /home/twa/public\_html/stechuhr/headerpw.php on line 9
Hier mein Qelltext:
<?php if(! isset($_SERVER["PHP_AUTH_USER"])) {<br /> Header('WWW-Authenticate: Basic realm="Top Secret"');
}
if($\_SERVER["PHP\_AUTH\_USER"]!="Bla" AND $\_SERVER["PHP\_AUTH\_PW"]!="Blub") {
Header('HTTP/1.1 401 Unauthorized');
Header('WWW-Authenticate: Basic realm="Top Secret"');
exit;
}
?\>Authentification Hier ist der Top-Secret Bereich
<?php echo "Username: ".$_SERVER["PHP_AUTH_USER"]." Paßwort: ".$_SERVER["PHP_AUTH_PW"]; ?>
Vielen Dank im Voraus,
Thomas!!!
Ergänzung zur Frage
Kann es sein das man Apache irgendwo dafür konfigurieren muss?? Wenn ja, wo? wie?
Gruß TH
zumindest funzt es bei mir…
hast Du davor noch irgendeine andere Ausgabe?
(echo oder print) bzw includierst Du das da in ein anderes Script?
Bei mir funktioniert es auch.
Nachvollziehen konnte ich Deine Fehlermeldung komplett mit einem Leerzeichen vor dem öffnenden "
Kann es sein das man Apache irgendwo dafür konfigurieren
muss?? Wenn ja, wo? wie?
Gruß TH
du kannst in der php.ini
output_buffering = On
setzen, dann tun header aufrufe auch wenn schon content gesendet wurde. Ist halt minimal weniger perfomant wie wenn der output gleich gesendet wird. Alternativ musst halt einfach nach output suchen der schon davor passiert ist.
gruß.thomas
Das Ding ist erstmal eine testdatei und wird nirgends includiert.
Das vorhin erwähnte LEERZEICHEN hat sich wohl beim Drag&Drop eingeschlichen, in meiner Quelldatei ist es nicht vorhanden.
Keine Ahnung warum es bei dir funzt, aber bei mir nicht.
Werde es mal mit änderung der php.ini versuchen.
UTF-8 und es geht
Es lag doch nicht an der php.ini, sondern am Zeichensatz Format.
Ich habe die Datei von einem anderen Rechner mit ‚Quanta/SuseLinux‘ geöffnet und leucht verändert und es hat zu meiner überaschung danach funktioniert.
Die Änderung bezog sich auf die Fehlermeldung, bei erfolglosem einloggen, also nicht auf das Programm selbst.
Quanta nutzt UTF-8 als standartformat. Anscheinend war das ausschlaggebend.