Avatar billede nyst Nybegynder
02. december 2004 - 12:34 Der er 9 kommentarer og
1 løsning

form validering - problem med flere if'er sat sammen

{
    $fejl .="- du bedes udfyldes postnr.<br>";
}

if ( empty( $_REQUEST['by'] )  )
{
    $fejl .="- du bedes udfyldes by.<br>";
}

if ( $fejl != '' )
{
  $fejl = "<br><b>Mangler information for:</b><br>" . $fejl;
}

}
else
{
  $navn = "";
  $email = "";
  $email2 = "";
  $adresse = "";
  $postnr = "";
  $by = "";
  $fejl = "";
}
?>
>
>
>
<body>
>
>
<?php
    if ( $_SERVER['REQUEST_METHOD'] != 'POST' || $fejl != '' )
    {
?>
<form method="post" action="<?php echo $_SERVER['php_self']; ?>">
<? echo $fejl; ?>

-------------------------------------------------------

jeg har så sat disse sammen:

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

------------------------------

men det gør at den ikke virker mere, kan nogen se fejlen??

:-)
Avatar billede Slettet bruger
02. december 2004 - 12:41 #1
prøv at ændre
else
{
  $navn = "";
  $email = "";
  $email2 = "";
  $adresse = "";
  $postnr = "";
  $by = "";
  $fejl = "";
}

til:

if (empty($fejl))
{
  $navn = "";
  $email = "";
  $email2 = "";
  $adresse = "";
  $postnr = "";
  $by = "";
  $fejl = "";
}

men jeg ken ikke HELT se hvad du vil..
Avatar billede nyst Nybegynder
02. december 2004 - 12:55 #2
det er fordi den ikke har taget hele koden med - prøver igen*S*

------------------------------

<?php

if ( isset( $_REQUEST['adresse'] ) || ( isset( $_REQUEST['email'] ) && isset( $_REQUEST['email2'] ) ) )
{
  $navn = $_REQUEST['navn'];
  $email = $_REQUEST['email'];
  $email2 = $_REQUEST['email2'];   
  $adresse = $_REQUEST['adresse'];
  $postnr = $_REQUEST['postnr'];
  $by = $_REQUEST['by'];
  $fejl = '';

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

if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
{
            $fejl ="- du har ikke udfyldt enten email eller adresse.<br>";
}

if ( empty( $_REQUEST['navn'] )  )
{
    $fejl .="- du bedes udfyldes navn.<br>";
}

if ( empty( $_REQUEST['adresse'] )  )
{
    $fejl .="- du bedes udfyldes adresse.<br>";
}

if ( empty( $_REQUEST['postnr'] )  )
{
    $fejl .="- du bedes udfyldes postnr.<br>";
}

if ( empty( $_REQUEST['by'] )  )
{
    $fejl .="- du bedes udfyldes by.<br>";
}

if ( $fejl != '' )
{
  $fejl = "<br><b>Mangler information for:</b><br>" . $fejl;
}

}
else
{
  $navn = "";
  $email = "";
  $email2 = "";
  $adresse = "";
  $postnr = "";
  $by = "";
  $fejl = "";
}
?>
>
>
>
<body>
>
>
<?php
    if ( $_SERVER['REQUEST_METHOD'] != 'POST' || $fejl != '' )
    {
?>
<form method="post" action="<?php echo $_SERVER['php_self']; ?>">
<? echo $fejl; ?>

-------------------------------------------------------

jeg har så sat disse sammen:

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

------------------------------

men det gør at den ikke virker mere, kan nogen se fejlen??

:-)
Avatar billede nyst Nybegynder
02. december 2004 - 14:12 #3
Der er en enkelt fejl i ovenstående, men det er disse tre der skal samles:

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'] )  )
{
    $fejl .="- du bedes udfylde e-mail.<br>";
}

som ikke virker med denne:

if ( (isset($email) && ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email) ) ||
  ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) ) ||
  ( empty( $_REQUEST['email'] ) ) )
{
    $fejl .= "- der er fejl i e-mail adresse.<br>";
}
Avatar billede nyst Nybegynder
02. december 2004 - 14:18 #4
Dette kan jeg få til at virke:

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

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

-------------------

men det er når

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

bliver sat sammen det går galt????
Avatar billede detox Nybegynder
02. december 2004 - 16:31 #5
Er det sådan her du mener:

if (!isset($_REQUEST['email'],$_REQUEST['email2']) || !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $_REQUEST['email']) || strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2']))
{
    $fejl .= "- du har indtastet en ugyldig e-mail adresse.<br />";
}
Avatar billede nyst Nybegynder
02. december 2004 - 18:37 #6
hejsa detox,

der manglede empty( $_REQUEST['email'] ) men jeg fandt ud af at indsætte den til dette:
----------------------
if (!isset($_REQUEST['email'],$_REQUEST['email2']) || !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $_REQUEST['email']) || strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2']) || empty( $_REQUEST['email'] ))
{
    $fejl .= "- der er fejl i e-mail adresse felterne.<br />";
}
----------------------------------
og det virker.

1000 tak for hjælpen, smider du et svar

:-)
Avatar billede detox Nybegynder
03. december 2004 - 02:47 #7
velbekommen ;O)
Avatar billede nyst Nybegynder
03. december 2004 - 10:49 #8
Hej dexton jeg har lige en mere hvis du gider:

if ( isset( $_REQUEST['adresse'] ) || ( isset( $_REQUEST['email'] ) && isset( $_REQUEST['email2'] ) ) )
{
  $email = $_REQUEST['email'];
  $email2 = $_REQUEST['email2'];
  $navn = $_REQUEST['navn'];
bla bla bla
if (!isset( $_REQUEST['email'],$_REQUEST['email2'] ) || !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $_REQUEST['email']) || strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
{
    $fejl .= "- du bedes udfylde/rette e-mail adresse.<br>";
}

if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
{
    $fejl .="- du bedes udfylde enten e-mail eller adresse.<br>";
}
her er det så den skal melde:
- du bedes udfylde enten e-mail eller adresse.
hvis begge felter er tomme, men så ikke melde:
- du bedes udfylde/rette e-mail adresse.
det skal den så kun melde hvis der vælges at udfylde email

altså først se om begge er tomme, dernæst hvis email vælges checke korrekt email,
den viser begge to nu hvis jeg bare trykker send.

Er der en snild måde at klare det på, jeg kan ikke helt se det???

:-)
Avatar billede nyst Nybegynder
03. december 2004 - 10:54 #9
detox smid lige et svar med din løsning fra i går på

http://www.eksperten.dk/spm/566827

så kan jeg lukke den med points til dig

*S*
Avatar billede nyst Nybegynder
06. december 2004 - 18:00 #10
detox er du på?
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