MySQL Register Script Into klappt nicht

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

  • MySQL Register Script Into klappt nicht

    Hey Leute!

    Habe da ein problem und zwar wenn ich mich Regestriere steht da zwar dann das es geklappt hat, aber wenn ich in der Datenbank nachschaue sthet dort kein neuer Benutzer.

    Ich hoffe ihr könnt mir weiter helfen.

    Danke schonmal im voraus.
    PHP-Code:
    <!DOCTYPE html>
    <html> 
    <head>

    </head>
    <header>
        <h1>Register Here:</h1>     
    </header>
    <body>
    <div id="register">
    <form action="index.php" method="post">    
    <?php
        session_start
    ();
        
    $connect mysql_connect("127.0.0.1""Delein""12345") or die ("Verbindung zur Datenbank konnte nicht hergestellt werden");
        
    mysql_select_db("admin_panel") or die ("Datenbank ist nicht vorhanden");
            
            if(isset(
    $_POST['submit'])){
                
    $name mysql_real_escape_string(htmlspecialchars($_POST['name']));
                
    $pass1 mysql_real_escape_string(htmlspecialchars($_POST['pass1']));
                
    $pass2 mysql_real_escape_string(htmlspecialchars($_POST['pass2']));
            if (
    $name!="" && $pass1!= "" && $pass2!=""){
                    if(
    $pass1==$pass2) {
                        if(
    strlen($name<32)) {
                            
    $query mysql_query("SELECT * FROM benutzer WHERE username ='$name'");
                            
    $count mysql_num_rows($query);
                                if(
    $count == 0) {
                                    
    $pass1 md5($pass1);
                                    
    $queryissert mysql_query("INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')");
                                    echo
    "Der Benutzer wurde erfolgreich erstellt";
                                }else {
                                    echo
    "Dieser Name ist bereits vergeben";
                                }
                        }else {
                            echo
    "Der Username ist zu lange maximal 32 Buchstaben";
                        }
                    }else {
                        echo
    "Die Passörter stimmen nicht überein";
                    }
                }else {
                    echo 
    "Es wurden nicht alle Felder asgefüllt!";
                }
            }

    ?>
        <table>
            <tr><td>User Name:</td><td><input size="25" type="text" name="name"/></td></tr>
            <tr><td>Password:</td><td><input size="25" type="password" name="pass1" /></td></tr>
            <tr><td>Password repead:</td><td><input size="25" type="password" name="pass2" /></td></tr>
        </table>
                <tr><td></td><td><input type="submit" name="submit" value="Register" /></td></tr>
                <a href="Login.php">Login Here</a>
    </form>
    </div>
    </body> 
    </html>

  • #2
    Halte dich an das "EVA Prinzip"!
    Sonst wird das nichts.

    z.B: session_start() muss vor allen Ausgaben kommen.
    Wir werden alle sterben

    Kommentar


    • #3
      session_start() steht doch schon oben am anfang des Scripts muss session_start() noch iergend wo hin geschrieben werden?

      Aber kann mir auch nicht vorstellen das das nur daran liegen kann.

      Kommentar


      • #4
        Zitat von Delein Beitrag anzeigen
        session_start() steht doch schon oben am anfang des Scripts
        Du verstehst unter "Anfang" offenbar was andere als wir. Was ist mit dem ganzen HTML-Zeug davor?

        Kommentar


        • #5
          So habe nun vor den tags <?php session_start(); ?> steht aber klappen tuts immer noch nicht

          Kommentar


          • #6
            Zitat von Delein Beitrag anzeigen
            So habe nun vor den tags <?php session_start(); ?> steht aber klappen tuts immer noch nicht
            Was passiert denn?

            Error_reporting aktiviert?
            Nein?
            Machen!

            $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
            1. Die mysql Erweiterung ist veraltet. verwende besser PDO oder mysqli
            2. das htmlspecialchars() ist da flüssiger als Wasser. Überflüssig.





            Welche Datei zeigst du da überhaupt?
            Die Login.php, oder die index.php?


            echo"Der Benutzer wurde erfolgreich erstellt";
            Du gibst die Meldung einfach nur aus, ohne zu prüfen, ob das auch wirklich geklappt hat.
            Und eine mysql_error() Auswertung/Ausgabe sehe ich da auch nicht.
            Zuletzt geändert von combie; 27.08.2013, 06:05.
            Wir werden alle sterben

            Kommentar


            • #7
              Oh Mann.
              Du tust mir ein bisschen leid.
              Ich habe früher auch solche Antworten bekommen, die mir als Neuling nichts gebracht haben. Aber aber es muss sein um selbst besser auf Fehler und dessen Behebungsmöglichkeiten zu achten.
              Schau dir unbedingt mal die Sachen an die hier beschrieben worden sind um selbst einen Fehler zu finden.

              Aber nun zu deinem Problem.
              Wenn du einmal mit einer direkten Eingabe über zB phpmyadmin versucht hättest ob der INSERT funktioniert wärst du selbst drauf gekommen.
              Merke dir das du vorher den Test immer mal machen solltest ob der Insert auch ohne PHP funktioniert.

              Dein Fehler ist -> INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')
              Es muss heißen -> INSERT INTO benutzer ('id','name','password','zahlenspalte','buchstabenspalte') VALUES ('', '$name', '$pass1', '4', 'a')

              Anmerkung: Bitte... die Namen id, name, passwort, zahlenspalte und buchstabenspalte sind von mir ausgedacht und von dir zu ersetzen.

              Kommentar


              • #8
                Zitat von iBumsti Beitrag anzeigen
                Dein Fehler ist -> INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')
                Es muss heißen -> INSERT INTO benutzer ('id','name','password','zahlenspalte','buchstabenspalte') VALUES ('', '$name', '$pass1', '4', 'a')
                Nope.

                Wenn man Werte für alle Spalten angibt, muss man die Spalten nicht auflisten, dann reicht die VALUES-Klausel.

                Und die Spaltennamen in Hochkommata zu setzen, ist definitiv falsch.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  was soll überhaupt mysql_real_escape_string(htmlspecialchars ?

                  beschäftige dich bitte mit KONTEXT-WECHSEL
                  [font=Verdana]
                  Wer LESEN kann, ist klar im Vorteil!
                  [/font]

                  Kommentar


                  • #10
                    Hey iBumsti danke für deine hilfe ich werds gleich mal austesten sage dann obs geklappt hat oder nicht

                    Kommentar


                    • #11
                      Hey Leute das Thema hat sich erledigt hat sich herausgestellt das ich auf einmal mysqli habe und es deswegen nicht geklappt hatt. td danke an alle

                      Kommentar

                      Lädt...
                      X