Sagt ihm nichts, sagt ihm nichts! Buuuuh!
Php un mysql emulieren
-
-
Was ist an dem code falsch ich kann den Fehler einfach nicht finden.
Was passieren soll ist an dem Fehlermeldungen zu erschließen.
zuerst soll der name geprüft werden, wenn der nicht shconmal dabei ist soll das passwort überprüft werden und dann erst soll der nutzer nagelegt werden.
So wie es hier steht passiert granix , es kommt "regsitrierung erfolgreich" aber nix is passiert.<?
$fehlercode = 0;
$name = $HTTP_POST_VARS["name"];
$pwd = $HTTP_POST_VARS["pwd"];
$pwd2 = $HTTP_POSTbot_VARS["pwd2"];
$fehler2 = $HTTP_POST_VARS["fehler"];
print ($fehler2);
?>
<html>
<head>
<title>Login Protokoll</title>
</head>
<body>
<br><br><b><u>Registrierung</b></u><br><br>
<form action="login2.php" METHOD="post">
Gewünschter Nickname: <input type="text" NAME="name" Size="10"><br>
Gewünschtes Passwort: <input type="password" NAME="pwd" Size="10"><br>
Passwort wiederholen: <input type="password" NAME="pwd2" Size="10"><br><br>
<?
if ($fehlercode == '0')
{
mysql_connect("localhost","root","");
mysql_select_db("allanor_de_db");
$abfrage = "SELECT name FROM login";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if ($row->name == $name)
{
$fehlercode = '2';
$fehler = 'Dieser User existiert bereits!';
}
elseif($pwd != $pwd2)
{
$fehler = "Das Passwort muss 2 mal gleich sein";
$fehlercode = '1';
}
}
}
$fehler = "Registrierung erfolgreich!";
?>
<INPUT TYPE="hidden" NAME="fehler" VALUE="<? echo $fehler; ?>">
<input type="submit" value="los gehts">
</body>
</html>
<?
if ($fehlercode == '0')
{
mysql_connect("localhost","root","");
mysql_select_db("allanor_de_db");
$eintragen = "insert into login (name,pwd) values('$name','$pwd')";
mysql_query($eintragen);
}
?>edit: die datei heisst login2.php, er schickt sich die daten also selbst mit method=post
-
So einen Code guckt sich keiner an. Vereinfach ihn solang bis du weißt in welcher Zeile der Fehler liegen muss oder post hier einen vereinfachten Code den man sich halbwegs gerne anguckt. BTW: php3-forum.de
-
nach ahrter isolier arbeit:
if ($code == '1');
{$abfrage = "SELECT name FROM login";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if ($row->name == $name);
{
$h = 'r';
$fehlercode = '1';
echo 'schleife';
$fehler = 'User existiert bereits';
}
}
}hier soll er alle namen aus login rausnehmen und überprüfen ob einer mit dem $name ünereinstimmt.
Wenn einer dabei ist soll$h = 'r';
$fehlercode = '1';
echo 'schleife';
$fehler = 'User existiert bereits';gemacht werden, irgendwo fehlt aber ein ';'
denn dir eigentliche anweisung heisst so:<?
$abfrage = "SELECT url, urlname FROM links";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->url<b><font color=red>;</b></font>
}
?> -
Nur ganz fix drüber geguckt:
falsch: echo $row->url<b><font color=red>;</b></font>
richtig: echo $row."->url...</font>";