Login klappt nicht!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ausgabe
benutzername
code
datenbank
ergebnis
falsch login
falschem passwort
fehlermeldung
feld
header
index
login
output
page
syntax
url
verbindung
weiterleitung
zeile
-
Hallo
habe ein kleines problem weiß einer warum es nicht klappt?
<?php session_start(); ?> <?php $verbindung = mysql_connect("mysql.lima-city.de", "USER...." , "passwort") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1........_1") or die ("Datenbank konnte nicht ausgewählt werden"); $username = $_POST["username"]; $passwort = md5($_POST["password"]); $abfrage = "SELECT Benutzername, Passwort FROM login WHERE Benutzername = '$username'"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); } else { echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"; } ?>
Fehler in der 20 Zeile! Also: header('Location: index.php?page=Login');
Vielen Dank
Philip
Beitrag zuletzt geändert: 15.2.2010 18:13:51 von philip-felder -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie lautet die Fehlermeldung genau?
Zufällig:Cannot modify header information - headers already sent
Beitrag zuletzt geändert: 15.2.2010 18:18:50 von buechsdeluxe -
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/philip-felder/html/login.php:5) in /home/webpages/lima-city/philip-felder/html/login.php on line 20
Beitrag zuletzt geändert: 15.2.2010 18:20:12 von philip-felder -
Ja. Du kannst nur Weiterleitungen per header verwenden wenn noch nirgends zuvor im Quellcode eine Ausgabe stattgefunden hat...ich nehme mal an dass du über dem PHP-Teil noch html-Code stehen hast oder?
-
Ja
Ich möchte das so das den das echo in der seite drinsteht
Beitrag zuletzt geändert: 15.2.2010 18:28:26 von philip-felder -
philip-felder schrieb:
Ja
Ich möchte das so das den das echo in der seite drinsteht
Tja dann musst du wohl einen weg finden den header ganz am anfang zu setzen.
Dieser AUSGABE muss immer vor jedem anderen ausgegebenen HTML-Code kommen (nich einmal leerzeilen dürfen kommen)
header('Location: index.php?page=Login');
siehe dazu hier
Beachten Sie, dass Sie die Funktion header() aufrufen müssen, bevor Sie irgendeine andere Art von Ausgabe (seien es normale HTML-Tags, Leerzeilen in einer Datei oder von PHP) zum Client schicken.
Also am besten irgendwie so:
(....) if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); $login = true; } else { $login=false } ?> DANN DER HTML CODE UND DANN EINFACH: <? if ($login == false){ echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"; } ?> Code ungetestet...
Beitrag zuletzt geändert: 15.2.2010 18:48:43 von simuliertes -
Leider
Parse error: syntax error, unexpected '}' in /home/webpages/lima-city/philip-felder/html/login.php on line 19 -
philip-felder schrieb:
Leider
Parse error: syntax error, unexpected '}' in /home/webpages/lima-city/philip-felder/html/login.php on line 19
Bitte bei Fehlermeldungen immer betreffende Codezeile (in diesem Fall 19) und ein Stück vorher bis ein Stück nacher posten. -
Am besten nochmal der ganze (reine php) code:
<?php session_start(); ?> <?php $verbindung = mysql_connect("mysql.lima-city.de", "USER1....." , ".........") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1....._1") or die ("Datenbank konnte nicht ausgewählt werden"); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); $login = true; } else { $login=false } ?> <?php if ($login == false){ echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"; } ?>
Zeile 19:
else { $login=false }
-
Aber immer noch:
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/philip-felder/html/login.php:5) in /home/webpages/lima-city/philip-felder/html/login.php on line 13 -
Rein logisch müsste die Reihenfolge hier schon mal umgekehrt sein, denn nach der Weiterleitung wird der Code nicht mehr ausgeführt.
Aus
header('Location: index.php?page=Login'); $login = true;
mach
$login = true; header('Location: index.php?page=Login');
Aber das wird das Problem vermutlich nicht beheben! -
Leider nicht
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/philip-felder/html/login.php:5) in /home/webpages/lima-city/philip-felder/html/login.php on line 14 -
Versuchs mal damit. Bitte KOPIEREN und nur DB-Anbindung korrigieren!
<?php session_start(); $verbindung = mysql_connect("mysql.lima-city.de", "USER1....." , ".........")or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1....._1") or die ("Datenbank konnte nicht ausgewählt werden"); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); $login = true; } else { $login=false; } if ($login == false){ echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>"; } ?>
-
Klappt aber ich kann mich auch mit falschem passwort anmelden
<?php session_start(); $verbindung = mysql_connect("mysql.lima-city.de", "USER......" , "...........")or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1......_1") or die ("Datenbank konnte nicht ausgewählt werden"); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); $login = true; } else { $login=false; } if ($login == false){ header('Location: index.php?page=Pass'); } ?>
-
<?php session_start(); $verbindung = mysql_connect("mysql.lima-city.de", "USER......" , "...........")or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("db_1......_1") or die ("Datenbank konnte nicht ausgewählt werden"); $username = $_POST["username"]; $passwort = md5($_POST["password"]); $abfrage = "SELECT Benutzername, Passwort FROM login WHERE Benutzername = '$username'"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; header('Location: index.php?page=Login'); $login = true; } else { $login=false; } if ($login == false){ header('Location: index.php?page=Pass'); } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage