Login - Header Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absolute pfad
anfang
ausgabe
ausgeben
bedenken
browser
code
dank
datei
design
dokument
einloggen
fehlerfall
header
hilfe
kleinen login
log
ordner
problem
weiterleitung
-
hey
ich hab hier einen kleinen login script
klappt soweit auch egt nur ich wollt jetzt noch verbessern
und zwar:
wenn der login korrekt/falsch war wird gleich auf eine seite weitergeleitet und nicht mit echo" iwas"
hab schon bei google gesucht und auch im forum aber iwie nix gefunden
gibts einen möglichkeite das zu berichtigen ?
if($row->passwort == $passwort) { $_SESSION["name"] = $name; header("Location: log.success.php"); } else { header("Location: log.fault.php"); }
Beitrag geändert: 29.8.2008 1:43:22 von hdavids -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Berichtigen?
Was stimmt den nicht?
Also falls du eine andere Ausgabe haben möchtest, dann kannst du ja einfach in der log.fault1.php, auf die im Fehlerfall weitergeleitet wird, deine 'echos' machen.
Wenn nicht kannst du ja auch statt dem header("Location: log.fault1.php"); ein echo (oder was auch immer) machen.
-
ich möchte das hier berichtigen :P
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/einloggen.php:5) in /home/webpages/lima-city/einloggen.php on line 24
(vergessen dazu zu schreiben)
und das mit echo möchte ich vermeiden da ich da kein design reinbringen kann (soweit ich weiß)
Beitrag geändert: 29.8.2008 1:49:48 von hdavids -
Der Fehler kommt weil du vor dem header() mindestens eine Ausgabe hast, sprich eine Leerzeile(HTML) oder ein echo ...
Ja ein echo gibt einfach Text aus, der nach dem parsen des PHP-Scripts sozusagen in ein HTML-Dokument geschrieben wird.
Soll heißen du kannst mit echo ganz einfach auch CSS mit ausgeben, usw...
Alles klar?
Edit:
Nur mal so:
/home/webpages/lima-city/einloggen.php
Das ist wirklich der absolute Pfad zu deiner Datei?
Beitrag geändert: 29.8.2008 2:12:50 von philippkern -
-- /home/webpages/lima-city/einloggen.php
Das ist wirklich der absolute Pfad zu deiner Datei?
hatte es in unterordnern sollte einfach net so lang werden sry
-- Soll heißen du kannst mit echo ganz einfach auch CSS mit ausgeben, usw...
das mit echo wollte ich nicht so gern, hab es mit include probiert und geht auch
gibts da später vllt probleme oder kann ich das so lassen ?
schonmal danke für die hilfe :)
-
das mit echo wollte ich nicht so gern, hab es mit include probiert und geht auch
gibts da später vllt probleme oder kann ich das so lassen ?
Ja, du kannst es so lassen.
Dieser Codeschnipsel:
if($row->passwort == $passwort) { $_SESSION['name'] = $name; header('Location: log.success.php'); } else { header('Location: log.fault.php'); }
muss ganz am Anfang einer Datei stehen. Dort wo noch nichts an den Browser gesendet worden ist.
Ryan
P.S. nach einer `header()` Weiterleitung sollte immer die `die()` oder `exit()` Funktion aufgerufen werden. -
-- /home/webpages/lima-city/einloggen.php
Das ist wirklich der absolute Pfad zu deiner Datei?
hatte es in unterordnern sollte einfach net so lang werden sry
Dacht ich mir ja.
Also du wirst es nur in "Unterordnern" hier bei lima haben können. (im html-Ordner) ;)
-- Soll heißen du kannst mit echo ganz einfach auch CSS mit ausgeben, usw...
das mit echo wollte ich nicht so gern, hab es mit include probiert und geht auch
gibts da später vllt probleme oder kann ich das so lassen ?
schonmal danke für die hilfe :)
Nein sollte kein Problem geben, doch musst du halt bedenken das die includierte Seite nicht den Style der "Hauptseite" "zerstört" (oder vlt umgekehrt) oder irgendwelche Variablen oder sonst was beinhaltet und den nachfolgenden Code beeinflußt.
np -
@nyan: danke, hab exit(); eingefügt
@philipp: danke für den hinweis, ist bisher nicht fall habs überprüft
danke für eure hilfe
die seite läuft klasse :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage