NicholasWalker Skrevet 5. juni 2010 Forfatter Del Skrevet 5. juni 2010 now() er ingen php funksjon, legg den inn i sql'en, det samme kan man gjøre med standard verdier. Hvis user_level er integer så endre '0' til 0 Litt modifisert $query = sprintf("INSERT INTO `users` (`user_name`, `user_Pass`, `user_email`, `user_date`, `user_level`, `user_ip`) VALUES ('%s', '%s', '%s', NOW(), '0', '%s')", mysql_real_escape_string($_POST['user_name']), sha1($_POST['user_pass']), mysql_real_escape_string($_POST['user_email']), $_SERVER['REMOTE_ADDR']); //debug echo $query."<br />"; // sjekk at sql'en ser riktig ut mysql_query($query); Nå kan jeg ikke registrere: Dette er PHPen: <?php //signup.php include 'connect.php'; echo '<h3>Registrer deg</h3><br />'; if($_SERVER['REQUEST_METHOD'] != 'POST') { /*the form hasn't been posted yet, display it note that the action="" will cause the form to post to the same page it is on */ echo '<form method="post" action=""> Brukernavn: <input type="text" name="user_name" /><br /> Passord: <input type="password" name="user_pass"><br /> Bekreft Passord: <input type="password" name="user_pass_check"><br /> Email: <input type="email" name="user_email"><br /> <input type="submit" value="Registrer deg" /> </form>'; } else { /* so, the form has been posted, we'll process the data in three steps: 1. Check the data 2. Let the user refill the wrong fields (if necessary) 3. Save the data */ $errors = array(); /* declare the array for later use */ if(isset($_POST['user_name'])) { //the user name exists $userName = $_POST['user_name']; if(strlen($_POST['user_name']) > 30) { $errors[] = 'Viss du har symboler og tegn i navnet ditt som "_" eller "/", osv. Send en mail til meg: [email protected], da legger jeg inn allt manuelt i systemet til vi fikser denne feilen. :-D'; } if(strlen($_POST['user_name']) > 30) { $errors[] = 'Brukernavnet kan ikke inneholde mer enn 30 bokstaver og tall.'; } } else { $errors[] = 'Brukernavn feltet er tomt, DUH!.'; } if(isset($_POST['user_pass'])) { if($_POST['user_pass'] != $_POST['user_pass_check']) { $errors[] = 'Passordene matcher ikke, fiks det!'; } } else { $errors[] = 'Passord feltet kan jo ikke være tomt, er du helt tett i pappen eller?'; } if(!empty($errors)) /*check for an empty array, if there are errors, they're in this array (note the ! operator)*/ { echo 'Uh-oh.. a couple of fields are not filled in correctly..<br /><br />'; echo '<ul>'; foreach($errors as $key => $value) /* walk through the array so all the errors get displayed */ { echo '<li>' . $value . '</li>'; /* this generates a nice error list */ } echo '</ul>'; } else { //the form has been posted without, so save it //notice the use of mysql_real_escape_string, keep everything safe! //also notice the sha1 function which hashes the password $query = sprintf("INSERT INTO `users` (`user_name`, `user_pass`, `user_email`, `user_date`, `last_online`, `user_level`, `user_ip`) VALUES ('%s', '%s', '%s', NOW(), NOW(), '%s', '%s')", mysql_real_escape_string($_POST['user_name']), sha1($_POST['user_pass']), mysql_real_escape_string($_POST['user_email']), $_SERVER['REMOTE_ADDR']); //debug echo $query."<br />"; // sjekk at sql'en ser riktig ut $result = mysql_query($sql); if(!$result) { //something went wrong, display the error echo 'Something went wrong while registering. Please try again later.'; //echo mysql_error(); //debugging purposes, uncomment when needed } else { echo 'Din registrering er nå fullført, <a href="signin.php">logg inn</a> og start postinga :-)'; } } } ?> Erroren er: Warning: sprintf() [function.sprintf]: Too few arguments Altså med insert into... Lenke til kommentar
Jonas Skrevet 6. juni 2010 Del Skrevet 6. juni 2010 Ganske selvforklarende feilmelding spør du meg, men hvis du ikke er kjent med sprintf, så foreslår jeg at du googler etter en løsning. Første treff er veldig relevant. Lenke til kommentar
Gjest Skrevet 8. juni 2010 Del Skrevet 8. juni 2010 Kommentere litt her, jeg klarte å registere meg uten noe brukernavn just u know Lenke til kommentar
NicholasWalker Skrevet 9. juni 2010 Forfatter Del Skrevet 9. juni 2010 Jobber med et email verification system... 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å