Ankündigung

Einklappen
Keine Ankündigung bisher.

Register Code

Einklappen

Neue Werbung 2019

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

  • Register Code

    moin moin liebe PHPler,

    ich bau nun schon einige Zeit an meinem Loginscript. Es geht auch soweit alles, bis auf das Registrieren. Denn egal welches Passwort man wählt, in der Datenbank steht immer das gleiche...

    Bitte um Hilfe :P

    hier is der Code von Register.php:

    PHP-Code:
    <?php
    session_start
    ();

     require(
    "connect.php");


      if (
    $_POST['submit'])
      {

        
    $firstname mysql_real_escape_string($_POST['firstname']);
        
    $lastname =              mysql_real_escape_string($_POST['lastname']);
        
    $username =             mysql_real_escape_string($_POST['username']);
        
    $password =             mysql_real_escape_string($_POST['password']);
        
    $password_repeat =      mysql_real_escape_string($_POST['password_repeat']);



        if (
          
    $firstname&&
          
    $lastname&&
          
    $username&&
          
    $password&&
          
    $password_repeat)
        {

            if (
    strlen($firstname)>25 || strlen($lastname)>25 || strlen($username)>25)
            echo 
    "Firstname, Lastname und Username d&uuml;rfen nicht l&auml;nger als 25 Zeichen sein";
             else
             {

               if (
    strlen($password)>25 || strlen($password)<6)
                  echo 
    "Passwort muss zwischen 6 und 25 Zeichen haben!";
                 else
                 {







                               if (
    $password==$password_repeat)
                               {

                    



                                       
    $query mysql_query("SELECT * FROM users WHERE username='$username'");
                                       if (
    mysql_num_rows($query)>=1)
                                            echo 
    "Es gibt schon einen User mit diesem Namen";
                                           else
                                           {
                            
                        
    $password md5(password);        

                                 
    $register mysql_query("INSERT INTO users VALUES ('','$firstname','$lastname','$username','$password')");
                                        echo 
    "JAAA bist da!";

                                           }






                               }
                                else
                                   echo 
    "Passw&ouml;rter m&uuml;ssen gleich sein!";









                 }

             }


        }
         else
           echo 
    "Ein Feld wurde nicht ausgef&uuml;llt!";



      }
       else
         echo 
    "Bitte f&uuml;lle alle Felder mit deinen Daten aus und klicke auf Registrieren!";

     
    ?>

     <form action="register.php" method="post">

      Firstname: <input type="text" name="firstname" value="<?php echo $firstname?>" size="20" maxlength="25" />  <br />
      Lastname: <input type="text" name="lastname" value="<?php echo $lastname?>" size="20" maxlength="25" />  <br />
        Username: <input type="text" name="username" value="<?php echo $username?>" size="20" maxlength="25" />  <br />
          Passwort: <input type="password" name="password" value="" size="20" maxlength="25" />  <br />
    Repeat Passwort: <input type="password" name="password_repeat" value="" size="20" maxlength="25" />  <br />
             <br />
    <input type="Submit" name="submit" value="Register" />



    </form>


  • #2
    $password = md5(password);
    Du bildest ja auch immer den gleichen Hash.

    Kommentar


    • #3
      Schraub mal dein error_reporting voll auf und am besten noch mit E_STRICT, dann bekommst du auch dementsprechende Fehlermeldungen.
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      http://www.lit-web.de

      Kommentar


      • #4
        ok, danke für die Hilfe, das hab ich nun hinbekommen... doch uhr plötzlich, trägt er keine User mehr in die Datenbank ein:

        PHP-Code:
        <?php
        session_start
        ();

         require(
        "connect.php");


          if (
        $_POST['submit'])
          {

            
        $firstname mysql_real_escape_string($_POST['firstname']);
            
        $lastname =              mysql_real_escape_string($_POST['lastname']);
            
        $username =             mysql_real_escape_string($_POST['username']);
            
        $password =             mysql_real_escape_string($_POST['password']);
            
        $password_repeat =      mysql_real_escape_string($_POST['password_repeat']);



            if (
              
        $firstname&&
              
        $lastname&&
              
        $username&&
              
        $password&&
              
        $password_repeat)
            {

                if (
        strlen($firstname)>25 || strlen($lastname)>25 || strlen($username)>25)
                echo 
        "Firstname, Lastname und Username d&uuml;rfen nicht l&auml;nger als 25 Zeichen sein";
                 else
                 {

                   if (
        strlen($password)>25 || strlen($password)<6)
                      echo 
        "Passwort muss zwischen 6 und 25 Zeichen haben!";
                     else
                     {







                                   if (
        $password==$password_repeat)
                                   {





                                           
        $query mysql_query("SELECT * FROM users WHERE username='$username'");
                                           if (
        mysql_num_rows($query)>=1)
                                                echo 
        "Es gibt schon einen User mit diesem Namen";
                                               else
                                               {

                            
        $password md5($password);

                                     
        $register mysql_query("INSERT INTO users VALUES ('','$firstname','$lastname','$username','$password')");
                                            echo 
        "JAAA bist da!";

                                               }






                                   }
                                    else
                                       echo 
        "Passw&ouml;rter m&uuml;ssen gleich sein!";









                     }

                 }


            }
             else
               echo 
        "Ein Feld wurde nicht ausgef&uuml;llt!";



          }
           else
             echo 
        "Bitte f&uuml;lle alle Felder mit deinen Daten aus und klicke auf Registrieren!";

         
        ?>

         <form action="register.php" method="post">

          Firstname: <input type="text" name="firstname" value="<?php echo $firstname?>" size="20" maxlength="25" />  <br />
          Lastname: <input type="text" name="lastname" value="<?php echo $lastname?>" size="20" maxlength="25" />  <br />
            Username: <input type="text" name="username" value="<?php echo $username?>" size="20" maxlength="25" />  <br />
              Passwort: <input type="password" name="password" value="" size="20" maxlength="25" />  <br />
        Repeat Passwort: <input type="password" name="password_repeat" value="" size="20" maxlength="25" />  <br />
                 <br />
        <input type="Submit" name="submit" value="Register" />



        </form>
        Ich hab keine Ahnung warum. Kann es an meiner Datenbank liegen?

        Kommentar


        • #5
          Was sagt mysql_error() ?

          Kommentar


          • #6
            ja, der Fehler lag an der DB :P naja eben freehoster^^

            Kommentar


            • #7
              Ich würde meinen Code auf jeden Fall vor SQL Injection schützen
              "Echte Intellektuelle wie wir sollten ihre Lippen nicht mit Flüchen beschmutzen."

              Kommentar

              Lädt...
              X