Registrierungs Script

  • PHP

  • just_for_fun
  • 1761 Aufrufe 10 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Registrierungs Script

    Hallo,

    bevor ihr weiter lest, Ich habe die SuFu und google.de bemüht, fand auch viele nützliche Sachen, habs im endeffekt jedoch nicht geschafft und ganz ehrlich auch nicht die nötige Zeit um mich da Tagelang einzuarbeiten.


    Ich suche folgendes:

    Eine Seite auf der ein Registrierungsformular ist (E-mail addresse/Passwort/Username).

    Nun sollte es mir möglich sein die im Formular angegeben Daten in der MySql lesen zu können.

    Mehr muss es nicht sein, wenn sich jmd. dazu bereit erklären würde reicht eine kurze PN und ich lass euch die funpic Daten zukommen,


    Vielen Dank im vorraus
  • Hey ...

    anscheinend hast du die falschen Begriffe bei google eingegeben oder kA. Du findest auf jedenfall en mass scripte wie soetwas funzt ;) ansonsten hilft nur lesen... lesen lesen lesen...

    aber da ich gerade 5min zeit hatte hab ich dir mal das script geschrieben wie du es haben wolltest... ich habs jetzt nicht überprüft aber eigentlich sollte es so funktionieren:

    PHP-Quellcode

    1. <?php
    2. $mysql_host = "localhost";
    3. $mysql_user = "benutzername";
    4. $mysql_pass = "passwort";
    5. $mysql_db = "datenbank";
    6. if(mysql_connect($mysql_host, $mysql_user, $mysql_pass)) {
    7. if(!mysql_select_db($mysql_db)) {
    8. print "<p>Die mySQL Datenbank konnte nicht gefunden werden oder existiert nicht!</p>";
    9. }
    10. } else {
    11. print "<p>Es konnte keine Verbindung mit dem mySQL Server hergestellt werden!</p>";
    12. }
    13. if(!empty($_POST[benutzername]) && !empty($_POST[passwort]) && !empty($_POST[email]) && !empty($_POST[emptycheck])) {
    14. $sql = mysql_query("INSERT INTO benutzer (benutzername, passwort, email) VALUES ('".$_POST[benutzername]."', '".$_POST[passwort]."', '".$_POST[email]."')");
    15. if(mysql_num_rows($sql) > 0) print "<p>Der Benutzer <b>".$_POST[benutzername]."</b> wurde erfolgreich registriert!</p>";
    16. } else {
    17. if(!empty($_POST[])) print "<p>Sie haben ein oder mehrer Felder vergessen auszuf&uuml;llen!</p>";
    18. }
    19. ?>
    20. <?xml version="1.0" encoding="utf-8" ?>
    21. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    22. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    23. <head>
    24. <title>Registrierungsformular</title>
    25. </head>
    26. <body>
    27. <p><h1>Registrierungsformular</h1></p>
    28. <form action="<?php $PHP_SELF; ?>" method="post">
    29. <label>Benutzername: <input type="text" name="benutzername" size="20" /></label><br />
    30. <label>Passwort: <input type="password" name="passwort" size="20" /></label><br />
    31. <label>eMail Adresse: <input type="text" name="email" size="20" /></label><br />
    32. <input type="hidden" value="1" name="emptycheck" />
    33. <input type="submit" value="Registrieren" />
    34. </form>
    35. </body>
    36. </html>
    Alles anzeigen


    Hoffe geholfen zu haben...

    MfG R4Ve
  • naja 5 min. mehr sollten es schon sein... bist Du sicher das es so funktioniert?
    $_POST[benutzername]

    den Tabellenname sollte man ebenfalls als Variable angeben, da man(n) die Datenbankstruktur nicht kennt

    bei meinen Scripten verwende ich der Übersichthalber mehr geschweifte Klammern - was ich Dir auch empfehle

    dann hoffen wir mal das dieses Script irgendwo in einem gesicherten Bereich aufgerufen wird - sonst...

    - so jetzt höre ich auf zu meckern, hast Dir Mühe gemacht und das sollte gewürdigt werden

    Guardian
  • hey...

    klar funzt das mit $_POST[benutzername] ... man muss das ja nicht in "" setzen...

    Mit Tabellennamen... joar warum zig tausend variabeln wenn es auch ohne geht... wer der englischen sprach fähig ist sollte das selber sehen... ich meine mysql is so simple... INSERT INTO table... "EINFUEGEN IN tabelle"... ;)

    wenn du nur eine sache hinter dem if stehen hast kannste doch sehr gut auf die klammern verzichten...

    ich weiß net woher ich es hab aber "die dümmsten coder schreiben die längsten codes" ;)

    lg

    PS: funzen tuts ja in jedem fall... ob mit klammer variabeln oder einfach ohne ;)
  • raveshow schrieb:


    klar funzt das mit $_POST[benutzername] ... man muss das ja nicht in "" setzen...

    Negativ, das ergibt auf jeden Fall eine "Notice"-Meldung.

    Ist halt nur die Sache, wie error_reporting standard-mäßig eingestellt ist.
    Meist ist das ja auf "E_ALL ^ E_NOTICE", jedoch nicht immer.
    Darum sind die Hochkommerta/Anführungsstriche zu empfehlen.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • @raveshow nett der Umgangston von Dir, und ja es ist mir bekannt das man bei einzeiligen Verschachtelungsbedingungen die Klammern weglassen kann, hier geht es jedoch offensichtlich um einen noch nicht fortgeschrittenen PHP Scripter dem sicher auch die Lesbarkeit des Codes wichtig ist

    Die Länge des Codes hat nichts mit dem Leistungsvermögen eines Coders bzw. der Effizienz eines Scripts zu tun. :drum:

    Ein Script das nach belieben POST Werten an das Registrierscript Schreibzugriff ohne Prüfung in eine Datenbank vornimmt, ist gefährlich - auch das sollte wenigstens erwähnt werden, Punkt

    wie auch immer, ich habe bereits geschrieben, Du hast Dir die Arbeit gemacht, darum sollte sich der Treatersteller bei Dir bedanken
    Guardian
  • raveshow schrieb:

    ich weiß net woher ich es hab aber "die dümmsten coder schreiben die längsten codes" ;)


    Diesen Satz solltest du für Dich mal überdenken... Denn Deine Einstellung "klappt doch, egal wie" ist nicht wirklich die schlauste herangehensweise... So entsteht fehlerhafte Software! Und noch schlimmer ist eigentlich das du diese Fehler auch noch (bewusst?) weitergibst.

    Hervorragend!!

    @just_for_fun
    Schau dir mal dieses Tutorial an: #php/QuakeNet Tutorial - Einführung
    Da gibt es ein Tutorial 48. Eigenes Loginsystem
    Vielleicht solltest du aber vorher alles andere durcharbeiten wenn du in php noch nicht so fit bist ;)

    Greetz
    Zerd
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • also fehler gibt es in dem script eigentlich nicht... und er wollte auch nur ein script haben womit er die sachen in mysql einfügt und dann auslesen kann ... da pfeif ich doch auf sicherheit...

    hab noch schnel aus lange weile nen emptycheck mit reingebaut... aber hab ja auch auf md5 etc verzichtet weil es nicht gewünscht war...

    ansonsten würde ich mal gerne wissen welche angeblichen fehler ich gemacht haben soll :D
  • raveshow schrieb:


    ansonsten würde ich mal gerne wissen welche angeblichen fehler ich gemacht haben soll :D

    Kleinigkeiten, zum Beispiel, dass das Script auch, wenn man die form nicht abschickt durchlaufen wird, was unnütz ist und zu einer falschen Fehlermeldung führt.

    Dann sollte man in SQL-Querys "Namen" mit ` kennzeichnen, sonst kann man nie ein Feld oder Variable nach einem reservierten SQL-Wort nennen.

    Das was ich schon in meinem vorherigen Post erwähnte (belass ich auch dabei) und ein Paar Rechtschreibfehler.

    Und das größte Übel: Es wird immer eine invalide-xhtml Seite ausgegeben.
    Wäre der Header xhtml Angepasst wäre das ganze Script nutzlos, weil jeder Browser einen xml-parse Error anzeigen würde.

    Außerdem wird trotzdem du erkannt hättest, dass keine Verbindung zur Datenbank erstellt worden ist, ein Query ausgeführt, was wieder zu einer falschen Fehlermeldung führen würde. (Schonmal was von die oder exit gehört?)

    Sonst fällt mir nichts weiter auf, auf den ersten Blick.
    Gruß
    Broken Sword

    => 4/10 :P
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.