Anders Moen Skrevet 17. april 2007 Del Skrevet 17. april 2007 Som emnetittelen sier: Hvorfor fungerer ikke empty koden på passord? (<input type="password" name="password" />) Her er hele koden: Klikk for å se/fjerne innholdet nedenfor <?php if(isset($_POST['submit'])) { mysql_connect("localhost", "username", "password"); mysql_select_db("database_navn"); $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string(md5($_POST['password'])); $email = mysql_real_escape_string($_POST['email']); $rank = "Member"; if (empty($username) || empty($password) || empty($email)) { echo 'You did not fill inn all required fields.'; echo '</div>'; echo '</body>'; echo '</html>'; die(''); } else if (!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) { echo 'This email is <b>not</b> valid.'; echo '</div>'; echo '</body>'; echo '</html>'; die(''); } else if (!preg_match("/^[a-zA-Z0-9-_]+$/", $username)) { echo 'Username cannot contain special letters, or spaces.'; echo '</div>'; echo '</body>'; echo '</html>'; die(''); } $checkif = mysql_query("SELECT username FROM users WHERE username = '$username'"); if (mysql_num_rows($checkif)>=1){ echo 'This user already exists!'; echo '<br />'; echo 'Please choose another username'; die(''); } mysql_query("INSERT INTO users (username, password, email, rank) VALUES ('$username', '$password', '$email', '$rank')"); echo 'You are registered as '; echo htmlentities(stripslashes($_POST['username'])); } else { ?> <form action="" method="post"> <p>Username: *<br /><input type="text" name="username" /></p> <p>Password: *<br /><input type="password" name="password" /></p> <p>Email: *<br /><input type="text" name="email" /></p> <p><input type="submit" name="submit" value="Register" /></p> </form> <?php } ?> Ja...noen som vet? Hvis jeg lar f. eks email stå åpen så får jeg beskjed om at jeg må fylle ut alle feltene... Lenke til kommentar
grimjoey Skrevet 17. april 2007 Del Skrevet 17. april 2007 md5() returnerer kanskje ikke null der du setter $password Lenke til kommentar
Gjest Slettet+142 Skrevet 17. april 2007 Del Skrevet 17. april 2007 sant det grimjoey sier. md5 returnerer en 32-string hash uansett. erstatt if (empty($username) || empty($password) || empty($email)) { i koden din, med denne linjen: if (empty($username) || empty($_POST["password"]) || empty($email)) { d41d8cd98f00b204e9800998ecf8427e Lenke til kommentar
Anders Moen Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 Ok Skal se på det etterpå. Øve til norsk bokmål skriftlig tentamen først. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå