header() funktioniert nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmeldung
ausgabe
auswerten
benutzername
besucher
code
datei
eingegebenen daten
falsches passwort
folgender quellcode
funktioniert code
header
index
info
liegen
nutz
status
weiterleiten
weiterleitung
zusehen
-
Folgender Quellcode soll ein Anmeldungs-Fomularfeld auswerten, die eingegebenen Daten überprüfen und den Besucher anschließend via
weiterleiten. Leider funktioniertheader()
aus unerfindlichen Gründen nicht mehr. Bei meinem vorherigen Hoster bereitete diese Datei keine Probleme.header()
<?php session_start(); include ('mysql.connect.php'); $user = $_POST['user']; $pass = md5($_POST['pass']); $connect = mysql_query ("SELECT ID, pass, user, status FROM tabelle WHERE user = '".$user."'"); $row = mysql_fetch_array($connect); if ($pass == '' or $user == '') { $info = 'Bitte gebe deinen Benutzernamen und das Passwort ein!';} elseif ($user == 'Benutzername') { $info = 'Bitte gebe deinen Benutzernamen und das Passwort ein!';} elseif ($pass != $row['pass']) { $info = 'Du hast ein falsches Passwort verwendet. Bitte überprüfe dein Passwort.';} elseif ($pass == $row['pass'] and $user == $row['user']) { $_SESSION['user_id'] = $row['id']; $_SESSION['user_nick'] = $row['user']; $_SESSION['user_status'] = $row['status']; $info = 'Die Anmeldung war erfolgreich.';} else { $info = 'Die Anmeldung ist fehlgeschlagen!';} header('Location: ../../index.php?info='.urlencode($info)); mysql_close(); exit(); ?>
Ich bin nunmehr ziemlich ratlos, wo der Fehler liegen könnte. Vielen Dank für die Hilfe! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Steht vor dem „<?php“ irgend etwas? (auch ein Leerzeichen oder eine Leerzeile)
Wird eine Fehlermeldung angezeigt?
Lg cookies -
Nein, absolut nichts, habs schon x-mal überprüft. Es handelt sich um die reine PHP-Datei ohne jegliche Ausgabe an den Browser! Daran kanns nicht liegen. Ich hab mal ein
vorheader()
gestellt. Da hats noch funktioniert. Geht man eine Zeile weiter nicht mehr! Keine Ahnung warum??$user = $_POST['user']; $pass = md5($_POST['pass']);
-
Dann setz mal testweise ein ob_start(); vor das session_start();.
-
ein workaround dafür wäre noch die ausgabe von folgendem html code:
<meta http-equiv="refresh" content="5; URL=http://de.selfhtml.org/">
manchmal auch nützlich ;) -
Wobei ich den Workaround ungern nutze, da der Nutzer dadurch eine leere Seite zusehen bekommt und - unter manchen Einstelluungen - die Weiterleitung erlauben muss. Daher würde ich die Weiterleitung immer per Header machen!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage