Registrierung Problem x.x

    • Registrierung Problem x.x

      [FONT="Arial"][COLOR="DeepSkyBlue"][SIZE="2"]Hallo M-core

      Ich versuche seit zwei Tagen vergeblich in mein Register Script E-Mail und Geburtsdatum einzubauen , naja es ist drin aber es wird nichts in den Mysql Tabeln eingetragen auser
      User Passwort und welches AccLevel er hat . Ich bin mit mein wissen am Ende.
      Ich hoffe ihr könnt mir helfen.

      Hier ist der PhP Code:

      PHP-Quellcode

      1. <?php
      2. if (isset($_POST['submit'])) {
      3. if (!$_POST['pass1'] == $_POST['pass2']) {
      4. die("<h1>Registrierung Fehlgeschlagen</h1>Pass&ouml;rter stimmen nicht &uuml;berein.<br /><a href='javascript:history.back()'>ZUr&uuml;ck</a>");
      5. }
      6. include('includes/mysql.php');
      7. $post_user = _mysql_ist_sicher($_POST['user']);
      8. $post_pass = _mysql_ist_sicher($_POST['pass1']);
      9. $post_pass = md5("DooM".$post_pass);
      10. $Query = "SELECT * FROM user WHERE username = '$post_user' AND password = '$post_pass'";
      11. $exec = mysql_query($Query) or die(mysql_error());
      12. if (mysql_num_rows($exec) >=1) {
      13. die('<h1>Registrierung fehlgeschlagen</h1>User '.$post_user.' existiert bereits.');
      14. }
      15. $date = Date("d.m.Y h:i");
      16. $mail = "";
      17. $bday = ("d.m.Y");
      18. $Query = "INSERT INTO user VALUES ('','$post_user','$post_pass','$date','$mail','$bday','member')" ;
      19. mysql_query($Query) or die(mysql_error());
      20. echo '<h1>Registration komplett</h1>Registration komplett.<br />Du kannst dich nun einloggen.';
      21. }
      22. else {
      23. echo'<table align="center">';
      24. echo'<form action="reg.php" method="post">';
      25. echo'<tr> ';
      26. echo'<td>Accountname:</td> ';
      27. echo'<td align="right"><input type="text" name="Username" /></td> ';
      28. echo'</tr> ';
      29. echo'<tr> ';
      30. echo'<td>Passwort:</td> ';
      31. echo'<td align="right"><input type="password" name="pass1" /></td> ';
      32. echo'</tr> ';
      33. echo'<tr> ';
      34. echo'<td>Passwort wiederholen:</td> ';
      35. echo'<td align="right"><input type="password" name="pass2" /></td> ';
      36. echo'</tr> ';
      37. echo'<td>E-mail:</td> ';
      38. echo'<td align="right"><input type="text" name="mail" /></td> ';
      39. echo'</tr> ';
      40. echo'<td>Geburtsdatum:</td> ';
      41. echo'<td align="right"><input type="text" name="bday" /></td> ';
      42. echo'</tr> ';
      43. echo'<td><input type="reset" value="Zur&uuml;cksetzen"/></td>';
      44. echo'<td align="right"><input type="submit" name="submit" value="Registrieren"></td>';
      45. echo'</tr>';
      46. echo'</table>';
      47. }
      48. ?>
      Alles anzeigen


      Mfg DooM
      [/SIZE][/COLOR][/FONT]
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Das Zauberwort heißt in diesem Falle, Fehlerbehandlung.
      Lass dir MySQL Errors ausgeben, PHP stellt hierfür eine nette Funktion bereit:
      PHP: mysql_error - Manual

      Noch ein paar Dinge, die dich selbst zum denken anregen sollen:
      1. mysql_ist_sicher xD - XSS nicht...
      2. Feldnamen kommen bei Queries generell in `` (bsp: `feldname`). Es kann sein, dass MySQL eine Funktion hat, die den selben Namen besitzt wie dein Feldname. In diesem Falle liegt MySQL`s Priorität bei der Funktion. Da sie aber in diesem Zusammenhang nichts anzufangen weiß, spuckt er Errors.
      3. Du übergibst als E-Mail einen leeren String
      4. Also Geburtstag übergibst du "d.m.Y". Wenns dir passt das alle User an "d.m.Y" Geburtstag haben, dann ist das okay :)

      Das sollte dich ne Weile beschäftigen =)
      ~Luna
    • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="3"]@Luna
      Nurmal so, das ist eh mein registerscript, das ich ihm überlassen ahbe.
      Verstehe nur nich, warum er soviel geändert hat, immerhin ging es ja bevor er es hatte.
      Hinzufügen ja, aber sonst so wie das jetzt aussieht habe ichs nich getan, allein schon die vielen echo() hintereinander für jede Zeile HTMl ein neues Echo >.<
      mysql_error() - nutze ich schon ewig, ist auch in diesem Script enthalten gewesen, laut Doom kommt kein error garnix.
      _mysql_ist_sicher() - XSS auch^^
      Dies ist lediglich eine selbstdefinierte Funktion meines Scripts, damit ich die absicherung ncih 10xxx mal schreiben muss.
      Wäre sonst zu umständlich.

      Geburtstag - er benutzt kein date, mehr is da nich xD
      Verstehe nich, was aus meinem Script geschehen ist.
      Feldnamen mache ich generell eig wenig in '', da mysql ja glaube keine funktion username() hat oder so^^
      Jedenfalls, ist imernoch mein Script, welches ich ihm zu nem Zweck gab, welchen weiß ich nimmer.
      Und es wurd verunstaltet >.<[/SIZE][/COLOR][/FONT]
    • [FONT="Arial"][COLOR="DeepSkyBlue"][SIZE="2"]

      internetfreak;111613 schrieb:

      [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="3"]@Luna
      Nurmal so, das ist eh mein registerscript, das ich ihm überlassen ahbe.
      Verstehe nur nich, warum er soviel geändert hat, immerhin ging es ja bevor er es hatte.
      Hinzufügen ja, aber sonst so wie das jetzt aussieht habe ichs nich getan, allein schon die vielen echo() hintereinander für jede Zeile HTMl ein neues Echo >.<
      mysql_error() - nutze ich schon ewig, ist auch in diesem Script enthalten gewesen, laut Doom kommt kein error garnix.
      _mysql_ist_sicher() - XSS auch^^
      Dies ist lediglich eine selbstdefinierte Funktion meines Scripts, damit ich die absicherung ncih 10xxx mal schreiben muss.
      Wäre sonst zu umständlich.

      Geburtstag - er benutzt kein date, mehr is da nich xD
      Verstehe nich, was aus meinem Script geschehen ist.
      Feldnamen mache ich generell eig wenig in '', da mysql ja glaube keine funktion username() hat oder so^^
      Jedenfalls, ist imernoch mein Script, welches ich ihm zu nem Zweck gab, welchen weiß ich nimmer.
      Und es wurd verunstaltet >.<[/SIZE][/COLOR][/FONT]


      Hab eigentlich nicht viel verändert!
      hab nur Tabele gemacht und Versucht nur E-mail und Geburtsdatum hinzu zufügen
      mehr habe ich da nicht gemacht Orginal habe ich noch x.x !!!!!.

      mfg DooM
      [/SIZE][/COLOR][/FONT]
    • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="3"]

      Lunatic;111615 schrieb:

      Okay sorry =) Der Funktionsname ist eben ein bisschen ungünstig gewählt.


      Solltest du dir aber angewöhnen =) Felder die `date` heißen (z.B.) braucht man desöfteren.

      ~Luna

      is ja kein Problem =)
      Ja mit dem Funktionsnamen, da war ich noch unerfahren.
      Ausserdem hatte ich den Namen per Xfire mal bekommen und hattes mir halt auch eingerichtet^^
      Jedenfalls, mittlerweile programmiere (scripte) ich anders.
      Ich nutze für variablen gerne Namen wie $exec für ein mysql query zum ausführen oder auch mal $data, wenns ums verarbeiten geht.
      und auch so habe ich einiges anderes gemacht, von daher
      Mit den '' mal sehen, ich wähle meine felder eh immer komisch, zB createdate (what a f***) xD


      @DooM
      das ganze is doch eig einfach, du änderst in meinen Seiten die es betrifft nur 2 kleine Dinge.
      Einmal die seite die das formular hat, da fügste 2 sachen und vergisst den "name" tag nich (Häufiger fehler, wenn man den vergisst, da ja dann die formulardaten nich verwendet werden können)
      und die andere seite mit der verarbeitung, da machste in mysql 2 palten dabei und fügst deine Variable mit den abgesicherten formulardaten einfach dazwischen, so dass spalte auf spalte gleicht.
      also die gleiche reihenfolge im query hat wie in mysql[/SIZE][/COLOR][/FONT]