php Login

Neue Frage »

Auf diesen Beitrag antworten »
InformaTiger php Login

Hallo,
kaum hat man den einen Fehler gefunden, ergibt sich der nächste Augenzwinkern

Bei meine Login gibt es mir immer diese Fehlermeldung und google hat auch nicht geholfen...

Zitat:
Warning: Cannot modify header information - headers already sent by (output started at /users/the-unbreakable/www/index.php:1) in /users/the-unbreakable/www/auth.php on line 7


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<?php 
                 $hostname = $_SERVER['HTTP_HOST'];
                 $path = dirname($_SERVER['PHP_SELF']);

                  if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet'])
                 {
                      header('location:http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
                      exit;
                 }
 ?>


Hat jemand die geringste Ahnung was da schief gehen könnte.

smile

Lg
InformaTiger
 
Auf diesen Beitrag antworten »
Airblader

Diese Fehlermeldung ist ein derart klassischer PHP-Fehler, dass ich es schon sehr seltsam finde, dass du dazu nichts Hilfreiches gefunden hast. Ich erhalte jedenfalls über acht Millionen Surchergebnisse.

Mal ganz High-Level: Du gibst irgendwo etwas aus, befor du den header()-Befehl schickst – und das darfst du nicht. Wo der Fehler nun aber genau liegt kann man dem Snippet alleine nicht ansehen, dazu braucht man den Kontext: wie ist dieses Skript eingebunden? Der Fehlermeldung nach vermutlich über ein include in der index.php. Da diese vermutlich vorher schon HTML geschickt hat, kommt es zu dem Problem.

Also nochmal zu Erklärung, sowas hier geht nicht:

code:
1:
2:
<p>Hello World!</p>
<?php header(...); ?>


Und – da auch sowas gern mal passiert – das hier ist ebenfalls verboten:

code:
1:
 <?php header(...); ?>


(Man beachte das Leerzeichen).
Auf diesen Beitrag antworten »
InformaTiger

Das mit dem Leerzeichen und dem Tag vor dem header() habe ich auch öfters in den anderen Hilfestellungen gesehen... Nur das Problem ich erkenne weder im Index php noch im auth.php den Fehler.

Im Anhang sind die zwei php Codes.

Danke schon mal smile

Edit: Der Code stammt nicht von mir, ich habe ihn nur angepasst. Er stammt von SELFHTML

Lg
InformaTiger
Auf diesen Beitrag antworten »
Airblader

Du hast den Code falsch abgeschrieben -- wo ist dein session_start()?

Code übrigens bitte nicht als Bild anhängen. Und das Tutorial ist out of date, es ist seit Jahren bekannt, dass md5 unsicher ist.
 
Auf diesen Beitrag antworten »
InformaTiger

Nun, das habe ich eben entfernt da ich sonst noch zwei Fehlermeldungen bekomme.

Ok, aber welche Verschlüsselungsart ist dann eine aktuellere?
Laut Google wäre das der Secure Hash Algorithm, was haltest du von dem?

smile

Lg
InformaTiger
Auf diesen Beitrag antworten »
Airblader

SHA ist besser, ja. Hänge deine Dateien bitte einfach mal an, dann schaue ich es bei Gelegenheit an (sorry, dass es z.Zt. immer so lange dauert).
Auf diesen Beitrag antworten »
InformaTiger

Gut hier sind die Dateien. Allerdings waren die Bilder zu groß und ich habe Sie nicht angehängt, aber ich denke für den Code reichts Augenzwinkern

PS: Was ich vergessen habe zu erwähnen: auf dem localhost sprich mit xampp geht die Website makellos...

Lg
InformaTiger
Auf diesen Beitrag antworten »
Karlito

Hallo,

ich denke es ist ein Encoding-Problem. Siehe Anhang und diese Seite. ich denke also Du musst deinen Editor dazu überreden eine andere Sprache zu sprechen oder einen Editor verwenden der das kann. Notepad++ macht glaube einen guten Job und ich mag das Chamäleon smile .

Ich habe die Skripte unter Debian erfolgreich getestet. Du scheinst UTF-8 zu verwenden (kann man auf folgender Seite sehen: http://de.wikipedia.org/wiki/Byte_Order_Mark), was Debian glaube auch standardmäßig benutzt. Die Frage ist nur, was das Zielsystem erwartet.

Gruß,

Karlito
Auf diesen Beitrag antworten »
Airblader

Wenn man sich schon nach Editoren umguckt, kann man zumindest für ein paar Tage auch mal was "Vernünftiges" ausprobieren -- für PHP gibt es z.B. PHPStorm, das ein paar Kollegen in der Firma einsetzen; ich selbst kenne nur WebStorm (für Javascript & HTML5), aber auch das finde ich relativ überzeugend.

Für Sprachen wie Java gibt es Eclipse und IntelliJ zu erwähnen, wobei ich zum Ersteren rate.

Eine gute IDE kostet anfangs zwar Einarbeitungszeit, lohnt sich hintenraus aber ungemein, schon allein, weil sie viele Fehler direkt anzeigt.
Auf diesen Beitrag antworten »
InformaTiger

Komischerweise ging es mit der Kodierung: UCS-2 Big Endian!

Oder eben doch noch nicht ganz... Jetzt geht die Haupseite ohne dass man sich anmelden muss, alle anderen gehen überhaupt nicht... und leiten auch nicht zum login weiter.

Habe jetzt auch mit anderen Kodierungen die eben die Zeichen vorher (im HEX- Editor) nicht senden auch versucht. Hat auch geklappt, zumindest waren keine Zeichen mehr vorher drin. Nur ich habe jetzt mal gegoogelt wie ich den Kodierungstyp meines Hosters finde, nur nützliches habe ich noch nicht gefunden.

Danke euch Wink inzwischen

Lg
InformaTiger
Auf diesen Beitrag antworten »
InformaTiger

Bin ich doof... Zunge raus
Ich hatte nur vergessen auf den andern Seiten die Kodierung zu ändern.
Jetzt geht alles wie geschmiert.

großes Grinsen

Danke, Airblader
Danke, Karlito

smile

Lg
InformaTiger
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »