Avatar billede tanzaweb Nybegynder
02. november 2005 - 10:56 Der er 3 kommentarer og
1 løsning

validering og sammenligning

Jeg skal have valideret brugernavnet og se om det allerede eksistere, jeg har allerede set om feltet er tomt og bruger det herunder.
Men hvis jeg skal se om det allerede eksister i tabellen hvordan gør jeg lige det med en SELECT fra databasen og en sammenligning. Jeg skal jo så også have skrevet fejlen ud og kan jeg gøre det på samme måde som med denne her som jeg bruger nu? <?php if($err_username) show_error($err_username) ?> til at vise fejlen. Har prøvet men kan ikke rigtig få det til at virke.


function show_error($err) {
    print "<small><b><font color=\"red\">$err</font></b></small>";
}
// Default to no errors
$err_username = null;    $val_username = null;
$err_password    = null;    $val_password    = null;

// Perform validation
if( count($_POST) ) {

    // username
    $val_username = trim(@$_POST['username']);
    if( empty($val_username) )
        $err_username = 'Brugernavn mangler';

    // password
    $val_password = trim(@$_POST['password']);
    if( empty($val_password) )
        $err_password = 'Password mangler';
       
    // Check to make sure the password matches the confirmed password.
    $val_password2 = trim(@$_POST['password2']);
    if ($_POST['password'] == $_POST['password2']) {
        $c = TRUE;
    } else {
        $c = FALSE;
        $err_password2 = 'Det indtastet password passer ikke med det bekræftet password.';
    }
   

    if( !$err_username && !$err_password ) {
        $val_username = addslashes($val_username);
        $val_password = addslashes($val_password);

        $sql = "
            INSERT INTO nettomer (username,password)
            VALUES('$val_username','$val_password')";
        mysql_query($sql) or die(mysql_error());

        if ($submit) {

        header("location: ok.php?username=".$username);
        exit;
        }
    }
}
Avatar billede erikjacobsen Ekspert
02. november 2005 - 11:01 #1
Gør username til primær nøgle. Når du så indsætter et der allerede er der, får du en fejl fra mysql. Det er det nemmeste og sikreste.
Avatar billede tanzaweb Nybegynder
02. november 2005 - 11:12 #2
Det er den allerede, men så smider den jo alle de oplysninger ud som folk har udfyldt og som de så skal til at udfylde igen, og det er jo et irrations moment for mange.
Avatar billede erikjacobsen Ekspert
02. november 2005 - 11:15 #3
Ok, men du skal bare fange fejlen (ikke med die) og gøre noget fornuftigt for brugeren, selvfølgelig.
Avatar billede tanzaweb Nybegynder
02. november 2005 - 19:37 #4
Jeg har fået det løst med noget andet kode som jeg brugte
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester