[PDO] Registrierung schreibt nicht

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Patrick1993.

    [PDO] Registrierung schreibt nicht

    hallo community,

    Ich arbeite seit neustem mit PDO und bin damit mehr als zufrieden.

    Nun habe ich mir eine Funktion geschrieben die eine Userregistrierung abwickeln soll.


    Soweit, sogut Formular steht, funktion auch ... nun habe ich jedoch den
    hänger, das die funktion irgendwie nicht aufgerufen wird oder nicht in
    die Datenbank schreibt.


    Der code stimmt an für sich bliebe also nur das die Funktion nicht aufgerufen und somit ausgeführt wird.


    Das Formular sieht so aus:

    HTML-Quellcode

    1. <form action="<? echo $_SERVER['PHP_SELF'];?>" method="POST">
    2. <p>Benutzername</p><input type="text" name="username" placeholder="Dein Username" /> <br />
    3. <p>Dein Passwort</p><input type="password" name="password" placeholder="Passwort" /> <br />
    4. <p>Deine E-Mail</p><input type="text" name="email" placeholder="Deine E-Mail" /><br />
    5. <input type="submit" name="submit" value="Registrieren" />
    6. </form>


    Die Register funktion wird mittelf if aufgerufen:

    PHP-Quellcode

    1. <?php
    2. if(isset($_POST['submit']) && isset($_POST["submit"]))
    3. {
    4. $reg->register();
    5. }
    6. ?>


    die variable $reg wird ganz am Anfang der datei deklariert.


    Die Funktion selbst sieht wie folgt aus:

    PHP-Quellcode

    1. public function register()
    2. {
    3. global $handler;
    4. $username = $_POST['username'];
    5. $passwort = $_POST['password'];
    6. $email = $_POST['mail'];
    7. $select = $handler->prepare("SELECT * FROM `login` WHERE username =:name AND password = :password");
    8. $select->bindParam(":name",$username);
    9. $select->bindParam(":password",$passwort);
    10. $select->execute();
    11. if($select->rowCount() < 1)
    12. {
    13. $inst = $handler->prepare("INSERT INTO `login`(`username`,`password`,`email`) VALUES(:username,:password,:mail)");
    14. $inst->bindParam(":username",$username);
    15. $inst->bindParam(":password",$password);
    16. $inst->bindParam(":mail",$email);
    17. $inst->execute();
    18. } else {
    19. echo "Benutzer bereits Vorhanden";
    20. break;
    21. }
    22. }


    ini_set und error_reporting ergaben keine ergebnisse.


    Würde mich freuen wenn ihr mir auf die Spur helfen könntet.


    MFG

    Patrick

    Der scheint erst garnicht bis zu der if bedindung zu kommen.
    Egal was ich schreibe ob echo "Hallo" oder sonst was direkt in die if abfrage schreibe er scheint garnicht erst bis dort hin zu kommen

    *EDIT*
    Gelöst. Ich hab die action raus genommen nun scheint es zu gehen (warum auch immer)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Patrick1993“ ()