Avatar billede nyst Nybegynder
04. november 2004 - 10:14 Der er 27 kommentarer og
1 løsning

form med php validering mm

hvordan får jeg denne til at virke

        if ( $_REQUEST['ring'] == 2 ) && empty( $_REQUEST['tlf'] ) )
        {
                        $message .= "Ring mig op\n";
                }
                else
                {
            $fejl ="Du skal udfylde telefon.";
        }
Avatar billede coderdk Praktikant
04. november 2004 - 10:16 #1
if ( $_REQUEST['ring'] == 2 ) && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }
        else if ( $_REQUEST['ring'] == 2 )
        {
          $fejl ="Du skal udfylde telefon.";
        }
Avatar billede nyst Nybegynder
04. november 2004 - 10:20 #2
den giver unexpected T_BOOLEAN_AND

det den skal er at hvis der krydses af i ( $_REQUEST['ring'] == 2 )

skal den checke om ( $_REQUEST['tlf'] ) er udfyldt
Avatar billede Slettet bruger
04. november 2004 - 10:22 #3
det er bare fordi der mangler en ( efter "if"
Avatar billede coderdk Praktikant
04. november 2004 - 10:22 #4
Det gjorde din oprindelige også så ;) Burde være sådan så:

        if ( $_REQUEST['ring'] == 2 && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }
        else if ( $_REQUEST['ring'] == 2 )
        {
          $fejl ="Du skal udfylde telefon.";
        }
Avatar billede nyst Nybegynder
04. november 2004 - 10:25 #5
nu kom formen da frem men hvis jeg udfylder feks 'adresse' og hakker af i 'ring mig op' men ikke har udfyldt 'telefon' så sender den alligevel og der skulle jo komme $fejl

:-)
Avatar billede nyst Nybegynder
04. november 2004 - 10:30 #6
coderdk

nej den sender selv om jeg ikke har udfyldt tlf ved hak i ring
Avatar billede coderdk Praktikant
04. november 2004 - 10:33 #7
Eeerh, har du husket at erstatte

    if ( empty( $_REQUEST['adresse'] ) || $fejl != '' )

med

    if ( $_SERVER['REQUEST_METHOD'] != 'POST' || $fejl != '' )

PS. For dem der ikke aner hvad vi snakker om: http://www.eksperten.dk/spm/552933
Avatar billede nyst Nybegynder
04. november 2004 - 10:34 #8
jeps
Avatar billede nyst Nybegynder
04. november 2004 - 10:35 #9
smider lige koden

<?php

    if ( isset( $_REQUEST['adresse'] ) || ( isset( $_REQUEST['email'] ) && isset( $_REQUEST['email2'] ) ) )
    {
        $email = $_REQUEST['email'];
        $email2 = $_REQUEST['email2'];
        $navn = $_REQUEST['navn'];
        $adresse = $_REQUEST['adresse'];
        $postnr = $_REQUEST['postnr'];
        $by = $_REQUEST['by'];
        $land = $_REQUEST['land'];
        $tlf = $_REQUEST['tlf'];
        $kommentar = $_REQUEST['kommentar'];
        $mailmig = $_REQUEST['mailmig'];
        $ring = $_REQUEST['ring'];
        $test = $_REQUEST['test'];
        $kopi = $_REQUEST['kopi'];
        $fejl = '';

        if ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
        {
            $email = $email2 = '';
            $fejl ="<b>Fejlmeddelelse!</b><br><br>Du har udfyldt en forkert e-mail adresse.<br>Udfyld begge felter for e-mail igen.<br><br>";
        }

        if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
        {
            $fejl ="<b>Fejlmeddelelse!</b><br><br>Du har ikke udfyldt enten email eller adresse.<br><br>";
        }

    }
    else
    {
        $email = "";
        $email2 = "";
        $navn = "";
        $adresse = "";
        $postnr = "";
        $by = "";
        $land = "Danmark";
        $tlf = "";
        $kommentar = "";
        $mailmig = "";
        $ring = "";
        $test = "";
        $kopi = "";
        $fejl = "";
    }
 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Formular</title>
</head>
<body>
<h2>Formular-test</h2>
<table bgcolor="#DADADA" border="0" cellpadding="0" cellspacing="0" width="430">
<tr>
<td align="center"><b>Rekvirer information</b></td>
</tr><tr>
<td align="center">
<table bgcolor="#E6E6E6" border="0" cellpadding="0" cellspacing="3" width="400">
<tr>
<td valign="top">
<?php
    if ( $_SERVER['REQUEST_METHOD'] != 'POST' || $fejl != '' )
    {
?>
<form method="post" action="<?php echo $_SERVER['php_self']; ?>">
<? echo $fejl; ?>
E-mail: <input name="email" type="text" value="<? echo $email; ?>"><br>
Indtast e-mail igen: <input name="email2" type="password" value="<? echo $email2; ?>"><br>
Navn: <input name="navn" size="16" style="width:210px" maxlength="256" type="text" value="<? echo $navn; ?>"><br>
Adresse: <input name="adresse" type="text" value="<? echo $adresse; ?>"><br>
Postnr: <input name="postnr" type="text" value="<? echo $postnr; ?>"><br>
By: <input name="by" type="text" value="<? echo $by; ?>"><br>
Land: <input name="land" type="text" value="<? echo $land; ?>"><br>
Telefon: <input name="tlf" type="text" value="<? echo $tlf; ?>"><br>
Kommentar: <textarea name="kommentar" rows="5" cols="30"><? echo $kommentar; ?></textarea><br>
<input type="checkbox" name="mailmig" value="1" <?= ( $mailmig == 1 ? 'checked="checked" ' : '' ) ?>> Mail mig<br>
<input type="checkbox" name="ring" value="2" <?= ( $ring == 2 ? 'checked="checked" ' : '' ) ?>> Ring mig op<br>
<input type="checkbox" name="test" value="3" <?= ( $test == 3 ? 'checked="checked" ' : '' ) ?>> Test mig<br>
<input type="checkbox" name="kopi" value="4" <?= ( $kopi == 4 ? 'checked="checked" ' : '' ) ?>> Kopi<br>
<br>
<input type="submit" name="Submit" value="Send">
</form>
<?php

    }
    else
    {
        $message = "Du har sendt følgende:\n\n Personlige oplysninger:\n\n $navn \n $adresse \n $postnr $by  \n $land \n Tlf. $tlf\n $email \n\n Kommentar:\n\n $kommentar\n\n Udbedt dig:\n\n ";

        if ( $_REQUEST['mailmig'] == 1 )
        {
            $message .= "Mail mig\n";
        }

        if ( $_REQUEST['ring'] == 2 && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }
        else if ( $_REQUEST['ring'] == 2 )
        {
          $fejl ="Du skal udfylde telefon.";
        }               
               
        if ( $_REQUEST['test'] == 3 )
        {
            $message .= "Test mig op\n";
        }
       
        if ( $_REQUEST['kopi'] == 4 )
        {
            $message .= "Kopi\n";
        }
        $message .= "\n\nMed venlig hilsen\n\njarny.dk";

        if ( $_REQUEST['kopi'] && !empty( $_REQUEST['email'] ) )
        {
            mail($email, "Kopi af information", $message,
                "From: post@jarny.dk\r\n" .
                "Reply-To: noreply@jarny.dk\r\n");
        }
        mail("ps@jarny.dk", "Information", $message,
            "From: post@jarny.dk\r\n" .
            "Reply-To: post@jarny.dk\r\n");
        echo "<br><br><span style='font-weight: bold'>Tak!</span><br><br>Din information er afsendt!<br><br>";                   
    }

?>
</td>
</tr>
</table></td>
</tr><tr>
    <td>&nbsp;</td>
</tr>
</table>
</body>
</html>
Avatar billede nyst Nybegynder
04. november 2004 - 10:36 #10
som du kan se vil jeg gerne at alle checkboxe ckeckes om der tilsvarende er udfyldt hvad der referere til den enkelte
Avatar billede nyst Nybegynder
04. november 2004 - 10:42 #11
Avatar billede coderdk Praktikant
04. november 2004 - 10:43 #12
Selvfølgelig sender den - Du checker alt for sent.

Ændr:

        if ( $_REQUEST['ring'] == 2 && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }
        else if ( $_REQUEST['ring'] == 2 )
        {
          $fejl ="Du skal udfylde telefon.";
        }             

til:

        if ( $_REQUEST['ring'] == 2 && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }

Og tilføj efter:

        if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
        {
            $fejl ="<b>Fejlmeddelelse!</b><br><br>Du har ikke udfyldt enten email eller adresse.<br><br>";
        }

dette:

        if ( $_REQUEST['ring'] == 2 && empty( $_REQUEST['tlf'] ) )
        {
          $fejl ="Du skal udfylde telefon.";
        }
Avatar billede nyst Nybegynder
04. november 2004 - 10:51 #13
jeps nu er den der, jeg prøver selv resten og vender tilbage hvis der er problemer -
hvis jeg må - points til dig

1000 tak :-)
Avatar billede coderdk Praktikant
04. november 2004 - 10:52 #14
:-)
Avatar billede nyst Nybegynder
04. november 2004 - 10:56 #15
der går den gal

        if ( $_REQUEST['mailmig'] == 2 && empty( $_REQUEST['email'] ) )
        {
          $fejl ="<br>Du skal udfylde e-mail.<br><br>";
        }

og

        if ( $_REQUEST['mailmig'] == 1 && !empty( $_REQUEST['email'] ) )
        {
            $message .= "Mail mig\n";
        }

hvis jeg udfylder 'adresse' og hak i mail mig, så sender den trods der ikke er udfyldt email???
Avatar billede nyst Nybegynder
04. november 2004 - 11:01 #16
også denne sender

        if ( $_REQUEST['kopi'] == 2 && empty( $_REQUEST['email'] ) )
        {
          $fejl ="<br>Du skal udfylde e-mail.<br><br>";
        }

og

        if ( $_REQUEST['kopi'] == 4 && !empty( $_REQUEST['email'] ) )
        {
            $message .= "Kopi\n";
        }
Avatar billede coderdk Praktikant
04. november 2004 - 11:04 #17
Du skal sætte $fejl i toppen, og $message i bunden...
Avatar billede nyst Nybegynder
04. november 2004 - 11:06 #18
ja som her:

<?php

    if ( isset( $_REQUEST['adresse'] ) || ( isset( $_REQUEST['email'] ) && isset( $_REQUEST['email2'] ) ) )
    {
        $email = $_REQUEST['email'];
        $email2 = $_REQUEST['email2'];
        $navn = $_REQUEST['navn'];
        $adresse = $_REQUEST['adresse'];
        $postnr = $_REQUEST['postnr'];
        $by = $_REQUEST['by'];
        $land = $_REQUEST['land'];
        $tlf = $_REQUEST['tlf'];
        $kommentar = $_REQUEST['kommentar'];
        $mailmig = $_REQUEST['mailmig'];
        $ring = $_REQUEST['ring'];
        $test = $_REQUEST['test'];
        $kopi = $_REQUEST['kopi'];
        $fejl = '';

        if ( strtolower( $_REQUEST['email'] ) != strtolower( $_REQUEST['email2'] ) )
        {
            $email = $email2 = '';
            $fejl ="<b>Fejlmeddelelse!</b><br><br>Du har udfyldt en forkert e-mail adresse.<br>Udfyld begge felter for e-mail igen.<br><br>";
        }

        if ( empty( $_REQUEST['email'] ) && empty( $_REQUEST['adresse'] ) )
        {
            $fejl ="<b>Fejlmeddelelse!</b><br><br>Du har ikke udfyldt enten email eller adresse.<br><br>";
        }

        if ( $_REQUEST['mailmig'] == 2 && empty( $_REQUEST['email'] ) )
        {
          $fejl ="<br>Du skal udfylde e-mail.<br><br>";
        }
               
        if ( $_REQUEST['ring'] == 2 && empty( $_REQUEST['tlf'] ) )
        {
          $fejl ="<br>Du skal udfylde telefon.<br><br>";
        }
               
        if ( $_REQUEST['kopi'] == 2 && empty( $_REQUEST['email'] ) )
        {
          $fejl ="<br>Du skal udfylde e-mail.<br><br>";
        }
               
    }
    else
    {
        $email = "";
        $email2 = "";
        $navn = "";
        $adresse = "";
        $postnr = "";
        $by = "";
        $land = "Danmark";
        $tlf = "";
        $kommentar = "";
        $mailmig = "";
        $ring = "";
        $test = "";
        $kopi = "";
        $fejl = "";
    }
 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Formular</title>
</head>
<body>
<table bgcolor="#DADADA" border="0" cellpadding="0" cellspacing="0" width="430">
<tr>
<td align="center"><b>Formular</b></td>
</tr><tr>
<td align="center">
<table bgcolor="#E6E6E6" border="0" cellpadding="0" cellspacing="3" width="400">
<tr>
<td valign="top">
<?php
    if ( $_SERVER['REQUEST_METHOD'] != 'POST' || $fejl != '' )
    {
?>
<form method="post" action="<?php echo $_SERVER['php_self']; ?>">
<? echo $fejl; ?>
E-mail: <input name="email" type="text" value="<? echo $email; ?>"><br>
Indtast e-mail igen: <input name="email2" type="password" value="<? echo $email2; ?>"><br>
Navn: <input name="navn" size="16" style="width:210px" maxlength="256" type="text" value="<? echo $navn; ?>"><br>
Adresse: <input name="adresse" type="text" value="<? echo $adresse; ?>"><br>
Postnr: <input name="postnr" type="text" value="<? echo $postnr; ?>"><br>
By: <input name="by" type="text" value="<? echo $by; ?>"><br>
Land: <input name="land" type="text" value="<? echo $land; ?>"><br>
Telefon: <input name="tlf" type="text" value="<? echo $tlf; ?>"><br>
Kommentar: <textarea name="kommentar" rows="5" cols="30"><? echo $kommentar; ?></textarea><br>
<input type="checkbox" name="mailmig" value="1" <?= ( $mailmig == 1 ? 'checked="checked" ' : '' ) ?>> Mail mig<br>
<input type="checkbox" name="ring" value="2" <?= ( $ring == 2 ? 'checked="checked" ' : '' ) ?>> Ring mig op<br>
<input type="checkbox" name="test" value="3" <?= ( $test == 3 ? 'checked="checked" ' : '' ) ?>> Test mig<br>
<input type="checkbox" name="kopi" value="4" <?= ( $kopi == 4 ? 'checked="checked" ' : '' ) ?>> Kopi<br>
<br>
<input type="submit" name="Submit" value="Send">
</form>
<?php

    }
    else
    {
        $message = "Du har sendt følgende:\n\n Personlige oplysninger:\n\n $navn \n $adresse \n $postnr $by  \n $land \n Tlf. $tlf\n $email \n\n Kommentar:\n\n $kommentar\n\n Udbedt dig:\n\n ";

        if ( $_REQUEST['mailmig'] == 1 && !empty( $_REQUEST['email'] ) )
        {
            $message .= "Mail mig\n";
        }

        if ( $_REQUEST['ring'] == 2 && !empty( $_REQUEST['tlf'] ) )
        {
          $message .= "Ring mig op\n";
        }
               
        if ( $_REQUEST['test'] == 3 )
        {
            $message .= "Test mig op\n";
        }
       
        if ( $_REQUEST['kopi'] == 4 && !empty( $_REQUEST['email'] ) )
        {
            $message .= "Kopi\n";
        }
        $message .= "\n\nMed venlig hilsen\n\njarny.dk";

        if ( $_REQUEST['kopi'] && !empty( $_REQUEST['email'] ) )
        {
            mail($email, "Kopi af information", $message,
                "From: post@jarny.dk\r\n" .
                "Reply-To: noreply@jarny.dk\r\n");
        }
        mail("ps@jarny.dk", "Information", $message,
            "From: post@jarny.dk\r\n" .
            "Reply-To: post@jarny.dk\r\n");
        echo "<br><br><span style='font-weight: bold'>Tak!</span><br><br>Din information er afsendt!<br><br>";                   
    }

?>
</td>
</tr>
</table></td>
</tr><tr>
    <td>&nbsp;</td>
</tr>
</table>
</body>
</html>
Avatar billede nyst Nybegynder
04. november 2004 - 12:24 #19
kan det tænkes at de 3 nye $fejl skal være før du 2 gamle???
Avatar billede coderdk Praktikant
04. november 2004 - 12:27 #20
Jeg forstår ikke helt hvordan det kan ske, kommer der også til at stå f.eks. "Kopi" og "Mail mig" i beskeden?
Avatar billede nyst Nybegynder
04. november 2004 - 12:47 #21
dette er med feltet adresse udfyldt og hak i mailmig:

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

Du har sendt følgende:

Personlige oplysninger:

 
Slotsdalen 79
   
Danmark
Tlf.
 

Kommentar:



Udbedt dig:



Med venlig hilsen

jarny.dk

-------------------------------
Avatar billede coderdk Praktikant
04. november 2004 - 14:38 #22
Nok fordi mailmig er 1 og ikke 2

  if ( $_REQUEST['mailmig'] == 2 && empty( $_REQUEST['email'] ) )

ændres til

  if ( $_REQUEST['mailmig'] == 1 && empty( $_REQUEST['email'] ) )

Hvorfor ikke lade alle de checkboxe være 1? Det er nemmere.
Avatar billede nyst Nybegynder
04. november 2004 - 14:39 #23
jeg har prøvet at lægge de 3 nye øverst med uden resultat *S*
Avatar billede coderdk Praktikant
04. november 2004 - 14:41 #24
Kopi er også 4 - Så det er samme problem :P
Avatar billede nyst Nybegynder
04. november 2004 - 14:48 #25
hvis alle boxe er 1 virker det ikke, men med 1,2,3 osv ser det skisme ud til at virker efter hensigten.

Det er jo bare superb. Jeg tester nu på kryds og tværs men håber vi er færdige, så indtil nu 1000 tak.

PS nu er min mail selvfølgelig nede, surt...
Avatar billede coderdk Praktikant
04. november 2004 - 14:51 #26
hehhe :)
Avatar billede nyst Nybegynder
04. november 2004 - 15:02 #27
jo det ser sgu' ud til at virke, du er bare en supermand Thankx *S*

Vi snakkes jo nok ved en anden gang *G*
Avatar billede nyst Nybegynder
22. november 2004 - 00:05 #28
Hej coderdk,

har stadig lidt til form'en

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

:-)
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