Avatar billede nyst Nybegynder
07. december 2004 - 11:36 Der er 8 kommentarer og
1 løsning

problem med at kombinere 3 if-sætninger

hej, jeg har nogle if'er som gerne skulle sættes fornuftigt sammen

-----------------------------
if (isset($email) && ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email))
{
}
else {
    $fejl .= "- du har indtastet en ugyldig e-mail adresse.<br>";
}

if ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
{
    $fejl .="- der er uoverensstemmelse i e-mail adresse felterne.<br>";
}

if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
{
    $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
}
---------------------------------------------

Den 1. if checker om der er indtastet en 'korrekt' email.

Den 2. checker om de 2 email er ens, samt gør brug af store og små bogstaver 'lovlige'.

Den 3. checker om både email og adresse er tomme.

Disse if'er virker som de skal, men det ser ikke pænt ud at der kommer flere fejlsvar som faktisk er ens, så de skulle gerne sættes sammen.

Dvs,
- checke om email og adresse er tomme / så fejl
- hvis adresse / ingen email fejl
- hvis email / ingen adresse fejl, men så check for begge email
- hvis email og adresse / ingen fejl, men check for begge email

Kan nogle hjælpe???
Avatar billede Slettet bruger
07. december 2004 - 11:40 #1
Du skal kigge på elseif strukturen.
Du kan finde syntaxen på den på php.net hvis du søger efter elseif i søgefeltet øverst.
Avatar billede kammeyer Nybegynder
07. december 2004 - 11:41 #2
Sårn ?


if (isset($email) && ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email))
{
 
  if ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
  {
      $fejl .="- der er uoverensstemmelse i e-mail adresse felterne.<br>";
  }
  else
    if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
    {
        $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
    }
   
 
}
else {
    $fejl .= "- du har indtastet en ugyldig e-mail adresse.<br>";
}
Avatar billede nyst Nybegynder
07. december 2004 - 11:48 #3
kammeyer,
nej den melder fejl hvis der er udfyldt adresse og det skal den netop ikke jævnfør mit spørgsmål

:-)
Avatar billede coderdk Praktikant
07. december 2004 - 12:00 #4
Så ikke denne ;) nyst, vil denne ikke virke:

if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
{
    $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
}
else
{
  if ( !empty( $_REQUEST['email'] ) && ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) ) )
  {
      $fejl .="- der er uoverensstemmelse i e-mail adresse felterne.<br>";
  }
}

Der kommer fejl hvis:

* email og adresse er tomme
* der er uoverensstemmelse mellem emails (hvis de ikke er tomme)
Avatar billede coderdk Praktikant
07. december 2004 - 12:01 #5
Hmm glemte emailtesten:

if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
{
    $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
}
else
{
  if ( !empty( $_REQUEST['email'] ) && ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) ) )
  {
      $fejl .="- der er uoverensstemmelse i e-mail adresse felterne.<br>";
  }
  else
  {
      if ( !ereg( "^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email ) )
      {
        $fejl .= "- du har indtastet en ugyldig e-mail adresse.<br>";
      }
  }
}
Avatar billede coderdk Praktikant
07. december 2004 - 12:03 #6
Argh, ret:

  if ( !ereg( "^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email ) )

til

  if ( !empty( $_REQUEST['email'] ) && !ereg( "^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email ) )
Avatar billede nyst Nybegynder
07. december 2004 - 12:03 #7
hej coderdk

har sat disse sammen

if (!isset( $_REQUEST['email'],$_REQUEST['email2'] ) || !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $_REQUEST['email']) || strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
  {
      $fejl .="- der er uoverensstemmelse i e-mail adresse felterne.<br>";
  }
  else
    if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
    {
        $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
    }

men prøver lige din
Avatar billede nyst Nybegynder
07. december 2004 - 12:10 #8
coderdk,

det funker jo som sædvanligt *S*

smid lige et svar

STORT tak

:-)
Avatar billede coderdk Praktikant
07. december 2004 - 12:11 #9
Så lidt 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