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."; }
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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."; }
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
Slettet bruger
04. november 2004 - 10:22
#3
det er bare fordi der mangler en ( efter "if"
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."; }
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 :-)
04. november 2004 - 10:30
#6
coderdk nej den sender selv om jeg ikke har udfyldt tlf ved hak i ring
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
04. november 2004 - 10:34
#8
jeps
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> </td> </tr> </table> </body> </html>
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
04. november 2004 - 10:42
#11
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."; }
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 :-)
04. november 2004 - 10:52
#14
:-)
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???
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"; }
04. november 2004 - 11:04
#17
Du skal sætte $fejl i toppen, og $message i bunden...
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> </td> </tr> </table> </body> </html>
04. november 2004 - 12:24
#19
kan det tænkes at de 3 nye $fejl skal være før du 2 gamle???
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?
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 -------------------------------
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.
04. november 2004 - 14:39
#23
jeg har prøvet at lægge de 3 nye øverst med uden resultat *S*
04. november 2004 - 14:41
#24
Kopi er også 4 - Så det er samme problem :P
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...
04. november 2004 - 14:51
#26
hehhe :)
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*
Vi tilbyder markedets bedste kurser inden for webudvikling