Ankündigung

Einklappen
Keine Ankündigung bisher.

Registrieren Script- Was stimmt nicht?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Registrieren Script- Was stimmt nicht?

    register.class.php:
    PHP-Code:
    <?php 
    require('DBConnect.class.php'); 

    class 
    Register{



            public function 
    Add_User(){

                
    $stmt = new DBConnect();

                if(
    $stmt->mysqli->prepare("INSERT INTO register VALUES('', '$username', '$email', '$pass', '$sf', '$sf_a')") ){

                
    $stmt->bind_param('ss'$username$email$pass$sf$sf_a);

                
    $username $_POST['username'];
                
    $email $_POST['email'];
                
    $pass $_POST['pass'];
                
    $sf $_POST['sf'];
                
    $sf_a $_POST['sf_a'];

                
    $stmt->execute();

                
    $stmt->close();

                }else{
                    
    printf("Prepared Statement Error: %s\n"$stmt->mysqli->error);
                }


            }

    }

    if(isset(
    $_POST['submit'])){
        
    $insert = new Register();
        echo 
    $insert->Add_User();

        echo 
    "User eingetragen";
    }

    ?>
    register.php:

    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Meine Seite - Registrieren</title>
    </head>

    <body>

    <form method="POST" action="classes/register.class.php" name="register_form" id="register_form">
    <table border="0">
    <tr>
    <td align="right">Benutzername</td>
    <td><input type="text" name="username" id="username"/></td>
    </tr>

    <tr>
    <td align="right">Email-Adresse:</td>
    <td><input type="text" name="email" id="email"/></td>
    </tr>

    <tr>
    <td align="right">Passwort:</td>
    <td><input type="password" name="password" id="password"/></td>
    </tr>

    <tr>
    <td align="right">Passwort- Wiederholung:</td>
    <td><input type="password" name="password_again" id="password_again"/></td>
    </tr>

    <tr>
    <td align="right">Sicherheitsfrage:</td>
    <td><input type="text" name="sf" id="sf"/></td>
    </tr>

    <tr>
    <td align="right">Sicherheitsfrage- Antwort:</td>
    <td><input type="text" name="sf_answer" id="sf_answer"/></td>
    </tr>

    <tr>
    <td align="right"><input type="hidden"/></td>
    <td align="right"><input type="submit" name="submit" id="submit"/></td>
    </tr>
    </table>
    </form>

    </body>

    </html>


    Was stimmt hier nicht? Warum funktioniert das Script nicht? Danke

  • #2
    PHP-Kenntnisse:
    Fortgeschritten
    ? Niemals. Und Fortgeschrittenes Thema? Nein: Wer darf hier posten?

    Problembeschreibung ist einfach nur mist.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Zitat von Saul Goodman Beitrag anzeigen
      Was stimmt hier nicht?
      So wie es klingt stimmt hier das Ergebnis nicht.
      Zitat von Saul Goodman Beitrag anzeigen
      Warum funktioniert das Script nicht?
      Weil es Fehler enthält.

      Fragen zu 100% beantwortet


      PS: In den anderen Punkten schließe ich mich meinem Vorredner an
      [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
      [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

      Kommentar


      • #4
        PHP-Code:
        if(isset($_POST['username'], $_POST['email'], $_POST['pass'])) //Und so weiter.. {
           //Bla bla dein Code, vergiss aber nicht zu escapen. Du teilst einfach den folgenden Post eine Variable zu und die escapst du $test = mysql_real_escape_string($_POST....)

        Ahja, du solltest neben bei noch überprüfen ob der Benutzer existiert.
        PHP-Code:
        if($row->num_rows 1) {
             
        //registrieren
        } else {
            echo 
        "Benutzer existiert bereits!";

        Kommentar


        • #5
          Wozu da noch ne Klasse drum rum?
          Das ist so sehr objektorientiert wie deine Kenntnisse "Fortgeschritten" sind. Hol' dir mal ein Buch für Fortgeschrittene und arbeite das durch. Zum Beispiel "PHP & MySQL" von Stefan Reimers und Gunnar Thies.

          Kommentar


          • #6
            TE: es gibt auch code tags für html.

            Kommentar

            Lädt...
            X