vervollständigungspunkte funken net
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
allgemeiner code
anmeldeformular
ansicht
anweisung
anwenden
aufbau
code
email
feld
gemacht anmelden
machen
nachname
punkt
schliessen
spiel
unteren teile
verraten
vorname
wiederholen
-
Hi, es gibt ja ne relativ einfache Möglichkeit, dass der user bei der anmeldung alle felder ausfüllen muss, das will ich allerdings nicht anwenden (is technisch besser bei mir) und desshalb hab ich des so gemacht:
Anmelden.php:
<form action=\"y.php\" method=\"post\"> <table class=\"in_border\" width=\"252\"> <tr><td colspan=\"2\"><h4>Anmelden</h4></td></tr> <tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Vorname</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"text\" name=\"vorname\" value size=\"20\"></td> </tr> <tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Nachname</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"text\" name=\"nachname\" value size=\"20\"></td> </tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">E-Mail Adresse</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"text\" name=\"email\" value size=\"20\"></td> </tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Name im Spiel</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"text\" name=\"username\" value size=\"20\"></td> </tr> <tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Password</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"password\" name=\"password1\" value size=\"20\"></td> </tr> <tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Password wiederholen</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"password\" name=\"password2\" value size=\"20\"></td> </tr> <tr><td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Spielwelt</font></td> <select name=\"server\"> <option value=\"de1\" >beta-version</option> </select> </td></tr> <tr> <td align=\"right\" bgcolor=\"#FFFFFF\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Woher kenn Sie das Spiel?</font></td> <td bgcolor=\"#FFFFFF\"><input type=\"textaria\" name=\"game\" value size=\"20\"></td> </tr> <td align=\"center\"><input type=\"image\" src=\"http://file1.npage.de/000250/13/bilder/login.jpg\" /></td></tr> </table> </form>
und in der y.php:
<?php ($a = $_POST[\'vorname\']); ($b = $_POST[\'nachname\']); ($c = $_POST[\'email\']); ($d = $_POST[\'username\']); ($e = $_POST[\'password1\']); ($f = $_POST[\'password2\']); ($g = $_POST[\'server\']); ($h = $_POST[\'game\']); if (\"\"==$a) { echo \"Bitte Vornamen eingeben!<br />\\n\"; } else { $vorname = $a; $a0 = \"1\"; if (\"\"==$b) { echo \"Bitte Nachnamen eingeben!<br />\\n\"; } else { $nachname = $b; $a1 = \"q\"; if (\"\"==$c) { echo \"Bitte E-Mail Adresse eingeben!<br />\\n\"; } else { $email = $c; $a2 = \"q\"; if (\"\"==$d) { echo \"Bitte Name im Spiel eingeben!<br />\\n\"; } else { $username = $d; $a3 = \"q\"; if (\"\"==$e) { echo \"Bitte Passwort eingeben!<br />\\n\"; } else { if ($e==$f) { $password = $e; $a4 = \"q\"; } else { echo \"Die Passwörter stimmen nicht überein!<br />\\n\"; if (\"\"==$h) { echo \"Bitte verraten Sie uns, woher sie unser Spiel kennen!<br />\\n\"; } else { $game = $h; $a5 = \"q\"; } } } } } } } if (\"q\"==$a0) { echo \"0\"; if (\"q\"==$a1) { echo \"1\"; if (\"q\"==$a2) { echo \"2\"; if (\"q\"==$a3) { echo \"3\"; if (\"q\"==$a4) { echo \"4\"; if (\"q\"==$a5) { echo \"5\"; echo \"Es geht alles!<br />\\n\"; } } } } } } ?> <a href=\"javascript:history.back()\"onMouseOver=\"window.status=\'Zurück\';return true;\" onMouseOut=\"window.status=\'\'\">Zurück zum Anmeldeformular</a>
kann mir jemand sagen, warum bei der kontrolle, die ich extra eingefügt habe nicht alle punkte zu sehen sind? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
das liegt an deinem komischen if/else aufbau... btw, dein allgemeiner code-aufbau ist unübersichtlich und teilweise recht unsinnig. ^^
das ganze sollte etwa so aussehen:
if(\"\"==$a) { echo \"Bitte Vornamen eingeben!n\"; } else { $vorname = $a; $a0 = \"1\"; } // Wichtig: Klammer wieder schliessen, da sonst die unteren Teile ignoriert werden, was bei dir der fallt ist. if (\"\"==$b) { echo \"Bitte Nachnamen eingeben!n\"; } else { $nachname = $b; $a1 = \"q\"; } ...
du musst einfach hinter jedem else die klammer direkt wieder schliessen und dann eine neuer if-befehl aufrufen.
-
das hatte ich vorher schon, hab ich extra so gemacht.. Wenn man des so macht, und das Formular garnicht ausfüllt, dann steht da gleich alles, und das will ich ja verhindern
-
hmmm, was willst du dann?
so wie es jetzt ist, steht ja immer nur 1 punkt?
eine einfache lösung wäre auch:
<?php if(!$a || !$b || !$c (...)) { echo \"Es müssen alle Felder ausgefüllt werden!\"; } else { // Alles ok } ?>
-
nein, das geht ja garnicht, da stimmt er ja schon zu, wenn nur ein Feld ausgefüllt ist, das is doch die oder-funktion..
-
meiner ansicht nach ist es ganz klar
In der oberen if-Abfrage steht:
$a0 = \"1\";
un in der Unteren Abfrage steht
if (\"q\"==$a0) { //Anweisung }
meiner Ansicht nach kann das nicht funktionieren weil $a0 niemals den Wert q bekommt -
achso, das hab ich übersehen..
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage