Avatar billede zorg_86 Nybegynder
09. januar 2004 - 13:26 Der er 3 kommentarer og
1 løsning

Vil ikke virke hvis der er 2 eller 3

Hej

Jeg har denne kode så hvis brugerne ændre tallene i adressen og tallet ikke findes, så bliver han sendt til index.php, men den virker ikke hvis der er f.eks både $motortype & $model & $unmaerke i adressen, da jeg nogle gang bruger alle 3 på en gang eks: anmeldelser.php?motortype=1&model=1&tunmaerke=5

$motortype = intval($_GET['motortype']);
$model = intval($_GET['model']);
$tunmaerke = intval($_GET['tunmaerke']);

if($motortype) {
    $res = mysql_query("SELECT * FROM anmeldelser_motortyper WHERE id=$motortype");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}elseif($model) {
    $res = mysql_query("SELECT * FROM anmeldelser_models WHERE id=$model");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}elseif($tunmaerke) {
    $res = mysql_query("SELECT * FROM anmeldelser_tunmaerker WHERE id=$tunmaerke");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}
Avatar billede eagleeye Praktikant
09. januar 2004 - 13:39 #1
Så må du lave elseif strukturen om da den kun kommer i den første som er avlgt til at være if sætnigner:

if($motortype) {
    $res = mysql_query("SELECT * FROM anmeldelser_motortyper WHERE id=$motortype");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}
if($model) {
    $res = mysql_query("SELECT * FROM anmeldelser_models WHERE id=$model");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}
if($tunmaerke) {
    $res = mysql_query("SELECT * FROM anmeldelser_tunmaerker WHERE id=$tunmaerke");
    if ( mysql_num_rows($res)<1 ) header('Location: index.php');
}
Avatar billede zorg_86 Nybegynder
09. januar 2004 - 14:07 #2
Takker skriv lige som et svar..
Avatar billede eagleeye Praktikant
09. januar 2004 - 14:11 #3
Ok her et svar ;)
Avatar billede jakoba Nybegynder
09. januar 2004 - 14:16 #4
2 ting der ikke stemmer.

1) Selvom der måske ikke er motertyper, kan man god vise modellerne.

2) Når vi har fundet ud af at der ikke skal hoppes til index.php skal der vel så vises data. Så mon ikke de resultatsæt skulle have forskellige navne.

$ingenting_fundet = true;
if($motortype) {
    $res_motortype = mysql_query("SELECT * FROM anmeldelser_motortyper WHERE id=$motortype");
    if ( mysql_num_rows($res)>0 ) $ingenting_fundet = false;
}
if($model) {
    $res_model = mysql_query("SELECT * FROM anmeldelser_models WHERE id=$model");
    if ( mysql_num_rows($res)>0 ) $ingenting_fundet = false;
}
if($tunmaerke) {
    $res_tunmaerke = mysql_query("SELECT * FROM anmeldelser_tunmaerker WHERE id=$tunmaerke");
    if ( mysql_num_rows($res)>0 ) $ingenting_fundet = false;
}
if ( $ingenting_fundet ) header('Location: index.php');

mvh JakobA
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