Avatar billede gizmo234 Nybegynder
22. februar 2006 - 23:18 Der er 6 kommentarer og
1 løsning

If sætning til indsættelse af data i database?

Hej.
Jeg skal bruge en lille if sætning, som skal gøre at hvis en prøver at skrive i min gæstebog, og fx har sagt at hans navn er lars, så skal den skrive at han ikke må hedde lars, og ikke indsætte dataen til databasen. Hvis han ikke hedder lars, skal den bare indsætte dataen i databasen.

noget med

If $_POST[navn]="lars"
echo"Du må ikke hedde Lars";
else
//formen som sætter dataen ind.

Mangler egentlig bare at det bliver skrevet i rigtig php. Nogen som kan hjælpe her?
Avatar billede gizmo234 Nybegynder
22. februar 2006 - 23:24 #1
Der er lige en ting mere...
Det kommer til at være sådan, at det navn som man ikke må hedde, det bliver hentet fra en database. Og i den tabel som navnet står i, kommer der til at stå flere navne, som man ikke må hedde. Hvordan sætter man det op, så det fungere alligevel?

Altså hvis man så skriver

If $_POST[navn]="$vis[navne_som_er_blocket]"
echo"Du må ikke hedde Lars";
else
//formen som sætter dataen ind.

vil det så være alle de navne som står under det felt, som man ikke må hedde? Hvis det ikke virker sådan, hvordan skal man så sætte det op, for at det virker?
Avatar billede steven_ Nybegynder
23. februar 2006 - 11:17 #2
<?php
function checkName( $name = "Anonymous" )
{
    $reservedNames = array( "lars",
                            "egon",
                            "hans",
                            "linux");
    return ( in_array( strtolower( $name ), $reservedNames ) ) ? true : false;
}

if( checkName( "Lars" ) )
{
    echo "<strong>" . $name . "</strong> er et utilladt navn!";
}
else
{
    echo "<strong>" . $navn . "</strong> er et tilladt navn!";
}
?>
Avatar billede steven_ Nybegynder
23. februar 2006 - 11:18 #3
<?php
function checkName( $name = "Anonymous" )
{
    $reservedNames = array( "lars",
                            "egon",
                            "hans",
                            "linux");
    return ( in_array( strtolower( $name ), $reservedNames ) ) ? true : false;
}

$name = "Lars";
if( checkName( $name ) )
{
    echo "<strong>" . $name . "</strong> er et utilladt navn!";
}
else
{
    echo "<strong>" . $navn . "</strong> er et tilladt navn!";
}
?>
Avatar billede steven_ Nybegynder
23. februar 2006 - 11:21 #4
<?php
$name = "Lars";

$query = mysql_query( "select `name` from `invalid_names` where `name` = '" . $name . "'" );
if( mysql_num_rows( $query ) )
{
    echo "Navnet er ikke tilladt";
}
?>
Avatar billede gizmo234 Nybegynder
23. februar 2006 - 22:57 #5
<?php
$name = "Lars";

$query = mysql_query( "select `name` from `invalid_names` where `name` = '" . $name . "'" );
if( mysql_num_rows( $query ) )
{
    echo "Navnet er ikke tilladt";
}
?>

Den linie skriver at det er forbudt at hedde lars, men indsætter alligevel dataen til gæstebogen. Den må ikke indsætte dataen til gæstebogen, hvis navnet er lars.
Avatar billede gizmo234 Nybegynder
23. februar 2006 - 22:59 #6
Vil gætte på at der mangler en "Else". For hvis navnet lars er brugt, skriver den navnet er ikke tilladt, else, skal den overfører dataen.
Avatar billede steven_ Nybegynder
24. februar 2006 - 08:30 #7
ja, du kan enten indsætte else - eller du kan ændre den til følgende:

<?php
$name = "Lars";

$query = mysql_query( "select `name` from `invalid_names` where `name` = '" . $name . "'" );
if( mysql_num_rows( $query ) )
{
    die( "Navnet er ikke tilladt" );
}
?>
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