was sagt denn dein die? hast du schon eine verbindung zum db-server?
Einen wunderschönen Guten Morgen.
Und wieder ein Schritt weiter bei meinem PHP Lernen :-9 ...und wieder eine Hürde.
Also ich habe eine Membertabelle(Profil usw)
User soll sich nun anmelden können, wenn seine Daten richtig sind, soll er sein Profil bearbeiten können.
Die Anmeldung merkt wenn kein PW eingetragen ist, oder kein Username.
Aber wenn ich die richtigen Daten eintrage, geht es nicht er ist dann immer beim DIE.
Datenbank
1. Feld Nickname
2. Feld Pass
Login.html
1. Feld = Username (name=nickname)
2. Feld = Passwort (name=pass)
dann folgt die Login.php
PHP-Code:<?php
session_start();
include("config.php");
$sql="SELECT nickname,pass FROM mmember";
$result=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_assoc($result)) {
if(trim($_POST['nickname'])==$row['nickname'] AND trim($_POST['pass'])==$row['pass'])
{
session_register('nickname');
session_register('pass');
echo"Erfolgreich eingeloggt.<br>";
echo'<a href="admin.php">Weiter</a>';
}
elseif(!$_POST['nickname']) {
die("Sie müssen einen Benutzernamen angeben<br><a href=\"login.html\">zurück</a>");
}
elseif(!$_POST['pass']) {
die("Sie müssen ein Passwort angeben.<br><a href=\"login.html\">zurück</a>");
}
else
{
die("Das geht so nicht ");
}
}
?>
when you kill a man, you are a murderer,
kill many,and you`re a conqueror,
kill them all ....ooh...Oh you`re a god !
(1992 Dave Mustaine - Megadeth)
was sagt denn dein die? hast du schon eine verbindung zum db-server?
wenn ich mit echo arbeite , in der login php sehe ich das alle variablen übertragen werden, die daten bank checkt er auch, denn wenn ich ein pw oder username vergesse medlet er sich.
und das die ist ja hierdurch :
und das zeigt er auch so anCode:else { die("Das geht so nicht "); } }
when you kill a man, you are a murderer,
kill many,and you`re a conqueror,
kill them all ....ooh...Oh you`re a god !
(1992 Dave Mustaine - Megadeth)
ähhh.. am einfachsten geht es wenn du einfach die eingegebenen daten in ein select statement einbaust und dann die anzahl der gefundenen zeilen überprüfst. wenn es genau eine zeile ist, dann war der login erfolgreich sonst nicht. musst aber die $_POST-daten auf schadcode überprüfen bevor du sie einbaust.s
da hat er gar nicht so unrecht! wieso baust du nicht das post-array als where-klausel in deine abfrage ein?
dann hab ich ein prinzipielles problem mit deinem if-construct: die die-anweisung kann doch eigentlich kaum mehr erreicht werden. der fall, beide felder waeren leer, muesste von jedem der beiden elseif-faelle abgefangen werden (koennte daher eh nicht richtig funzen).
also kommt die nur in frage, wenn keine uebereinstimmung da ist und die felder beide nicht leer sind.
es sieht so aus, als solltest du ein print_r einsetzen, um dir den inhalt des post-arrays anzusehen. irgendwas stimmt da noch nicht. oder aber du schaust dir mal mikes wunderbares login im workshop und tutorial bereich an. warum das rad neu erfinden, wenn es dort schon gut und vor allem sicher laeuft?!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)