Avatar billede kjeldsted Novice
25. juni 2008 - 23:55 Der er 2 kommentarer og
1 løsning

Afslut funktion?

Hej alle.

Jeg har et lille problem jeg ikke ved hvordan løses. Håber jeg kan få lidt hjælp. Problemet er denne funktion:

function kj_show_login_navn()
    {
    if(isset($_GET['aargang']))
      {
      if(is_numeric($_GET['aargang']) && preg_match("/^\d{8}$/",$_GET['aargang'])){;}
      elseif($_GET['aargang']=='before'){;}
      elseif($_GET['aargang']=='ukendt'){;}
      else
        {
        if(preg_match("/\W/",$_GET['aargang'])){die('Det er sket en fejl.<br>Fejlkode: #1002');}
        else {die('Der er sket en fejl.<br>\nFejlkode: #1003<br>Beskrivelse: '.$_GET['aargang'].' er ikke en gyldig værdi for aargang! Du bedes vælge en årgang fra listen på forrige side!');}
        }
      }
    $aar = $_GET['aargang'];
    $result = mysql_query("SELECT id,fornavn,efternavn FROM xelever WHERE aar1='$aar'");
    while($row = mysql_fetch_array($result))
      {
      echo $row['fornavn'].'<br>';
      }
    }

Mit problem er at jeg ikke ved hvad jeg skal skrive inde mellem { og } på disse tre linjer:

      if(is_numeric($_GET['aargang']) && preg_match("/^\d{8}$/",$_GET['aargang'])){return;}
      elseif($_GET['aargang']=='before'){return;}
      elseif($_GET['aargang']=='ukendt'){return;}

Som det er nu står der 'return', men her sker der det at mysql forespørgslen aldrig vises. Skriver jeg derimod fx en echo funktion virker den som den skal. Kort sagt skal den fortsætte hvis de én af de tre linjer giver svaret 'true'.

Håber jeg er forstålig og kan få lidt hjælp
Avatar billede hmortensen Nybegynder
26. juni 2008 - 00:09 #1
Måske denne opstilling kan bruges:

if((is_numeric($_GET['aargang']) && preg_match("/^\d{8}$/",$_GET['aargang'])) ||
    ($_GET['aargang']=='before') ||
    ($_GET['aargang']=='ukendt'))

{
  $aar = $_GET['aargang'];
  $result = mysql_query("SELECT id,fornavn,efternavn FROM xelever WHERE aar1='$aar'");
  while($row = mysql_fetch_array($result))
  {
    echo $row['fornavn'].'<br>';
  }
}
else
{
  if(preg_match("/\W/",$_GET['aargang']))
  {
    die('Det er sket en fejl.<br>Fejlkode: #1002');
  }
  else
  {
    die('Der er sket en fejl.<br>\nFejlkode: #1003<br>Beskrivelse: '.$_GET['aargang'].' er ikke en gyldig værdi for aargang! Du bedes vælge en årgang fra listen på forrige side!');
  }
}
Avatar billede kjeldsted Novice
26. juni 2008 - 00:13 #2
Super... Det ser ud til at virke perfekt... (Jeg kunne måske have sagt mig selv at det var løsning, men sådan går det når man ikke er helt vågen).

Men mange tak. Smid et svar hvis du vil have lidt point :-)
Avatar billede hmortensen Nybegynder
26. juni 2008 - 11:59 #3
Det var så lidt
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