PHP Code-Problem

  • Hallöchen


    Also mein Probelm ich habe hier das erstellt doch wenn ich nun versuch alles in den Felder ein zu geben und Register drücken kommt immer wieder "Password must be between 5 and 25 characters!"
    ich hab es zwar so ein gestellt das man mind. 5 Zeichen haben muss bei seinem Passwort doch ich gebe 7 Zeichen ein . Man muss ja die Ordnung im Code beachten doch dieses mal hab ich das wohl verpennt. Ich hoffe jemand kann mir weiter helfen. Ich will mich jetzt nicht nur registrieren können sonder alles andere soll trotzdem noch funktionieren , d.h., wenn man zu wenig zeichen oder zu viel eingibt das die dafür eingestellte Meldung kommt.
    Bedanke mich im vorraus


    Bis denn


    PHP
    <span class="syntaxhtml"><span class="syntaxdefault"><?php<br /><br /></span><span class="syntaxkeyword">echo</span><span class="syntaxstring">"<h1>Register</h1>"</span><span class="syntaxkeyword">;<br /><br /><br /></span><span class="syntaxdefault">$submit </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'submit'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxcomment">//from data<br /></span><span class="syntaxdefault">$fullname </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">strip_tags</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'fullname'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$username </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">strtolower</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">strip_tags</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'username'</span><span class="syntaxkeyword">]));<br /></span><span class="syntaxdefault">$password </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'password'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$repeatpassword </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'repeatpassword'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$date </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">date </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Y-m-d"</span><span class="syntaxkeyword">);<br /><br />if (</span><span class="syntaxdefault">$submit</span><span class="syntaxkeyword">)<br />{<br />    <br />    <br />    <br />    </span><span class="syntaxcomment">// encrypt password<br />        </span><span class="syntaxdefault">$password </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">);<br />        </span><span class="syntaxdefault">$repeatpassword </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$repeatpassword</span><span class="syntaxkeyword">);            <br /><br /></span><span class="syntaxcomment">//check for existance<br /><br /></span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">$fullname</span><span class="syntaxkeyword">&&</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">&&</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">&&</span><span class="syntaxdefault">$repeatpassword</span><span class="syntaxkeyword">)<br />{<br />    <br />    <br />    <br />    if (</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">==</span><span class="syntaxdefault">$repeatpassword</span><span class="syntaxkeyword">)<br />    <br />    {<br />        <br />    </span><span class="syntaxcomment">// check char lenght of username and fullname<br />    <br />    </span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">)></span><span class="syntaxdefault">25</span><span class="syntaxkeyword">||</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fullname</span><span class="syntaxkeyword">)></span><span class="syntaxdefault">25</span><span class="syntaxkeyword">)    <br />    <br />    <br />    <br />    {<br />    echo </span><span class="syntaxstring">"Length of username or fullname is to long!"</span><span class="syntaxkeyword">;<br />    }<br />    else<br />    {<br />        <br />    </span><span class="syntaxcomment">//check password length    <br />    </span><span class="syntaxkeyword">if    (</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">)></span><span class="syntaxdefault">25</span><span class="syntaxkeyword">||</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$password</span><span class="syntaxkeyword">)<</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">)<br />    <br />    <br />    {<br />    echo </span><span class="syntaxstring">"Password must be between 5 and 25 characters!"</span><span class="syntaxkeyword">;    <br />    }<br />    else<br />    {<br />        <br />        </span><span class="syntaxcomment">//register the user!<br />        <br />            <br />        <br />    //open database    <br />        <br />    <br />    </span><span class="syntaxdefault">$connect </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_connect</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"localhost"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"root"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">""</span><span class="syntaxkeyword">);<br />    </span><span class="syntaxdefault">mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"emailactivation"</span><span class="syntaxkeyword">); </span><span class="syntaxcomment">//select database<br />    <br />    </span><span class="syntaxdefault">$queryreg </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"<br />                                <br />                                <br />        INSERT INTO users VALUES ('','$fullname','$username','$password','$date')<br />        <br />        "</span><span class="syntaxkeyword">);<br />        <br />        die(</span><span class="syntaxstring">"You have been registered! <a href='index.php'>Return to login page!</a> "</span><span class="syntaxkeyword">);<br />    <br />    </span><span class="syntaxdefault">$namecheck </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT username FROM users WHERE username='$username'"</span><span class="syntaxkeyword">);<br />    </span><span class="syntaxdefault">$count </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">mysql_num_rows</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$namecheck</span><span class="syntaxkeyword">);<br />    <br />    if(</span><span class="syntaxdefault">$count</span><span class="syntaxkeyword">!=</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br />    {<br />    die(</span><span class="syntaxstring">"Username already taken!"</span><span class="syntaxkeyword">);    <br />    }<br />        <br />    }<br />    <br />                <br />    }<br />    <br />        <br />    }<br />    <br />    else<br />        echo </span><span class="syntaxstring">"Your passwords do not match"</span><span class="syntaxkeyword">;<br />    <br />}<br />else<br />    echo </span><span class="syntaxstring">"Please fill in <b>all</b> fields!"</span><span class="syntaxkeyword">;<br /><br />    <br />}<br /><br /><br /></span><span class="syntaxdefault">?><br /></span><br /><br /><br /><html><br /><br /><form action="register.php" method="POST"><br /><br />    <table><br />        <tr><br />            <td><br />            Choose a fullname:<br />            </td><br />            <td><br />            <input type="text" name="fullname" value="<span class="syntaxdefault"><?php </span><span class="syntaxkeyword">echo </span><span class="syntaxdefault">$fullname</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">?></span>"><br />            </td><br />        </tr><br />        <tr><br />            <td><br />            Choose a username:<br />            </td><br />            <td><br />            <input type="text" name="username" value="<span class="syntaxdefault"><?php </span><span class="syntaxkeyword">echo </span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">?></span>"><br />            </td><br />        </tr><br />        <tr><br />            <td><br />            Choose a password<br />            </td><br />            <td><br />            <input type="password" name="password"><br />            </td><br />        </tr><br />        <tr><br />            <td><br />            Repeat the password<br />            </td><br />            <td><br />            <input type="password" name="repeatpassword"><br />            </td><br />        </tr><br />        <br />        <br />      <br />    </table>  <br />    <p><br />    <input type="submit" name="submit" value="Register">  <br /></form>    <br /><br /></html></span>
  • Wenn ich die Funktion "md5" richtig verstanden habe, gibt sie einen 32-stelligen Code zurück. Diesen überprüfst du dann und er hat natürlich mehr als 25 Zeichen.


    Wenn du "md5" benutzen wolltest um das Passwort verschlüsselt in die Datenbank zu schreiben, solltest du dies nach der Überprüfung auf die richtige Länge machen.

  • PHP
    <span class="syntaxdefault"><br />  $password </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> md5</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'password'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault"> </span>


    Wenn du einen String md5 verschlüsselst wird er 32 Zeichen lang, also erst überprüfen ob das Passwort lang/kurz genug ist und dann am besten erst in der SQL Anweisung verschlüsseln:


    SQL
    INSERT INTO users VALUES ('','$fullname','$username','". md5($password) ."','$date')

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!