10. november 2004 - 14:54
Der er
17 kommentarer
Problem med Formmail.
Jeg har det her script: <?PHP if ($navn != "" && $telefon != "" && $email != "" && $besked != "") { $recipient = "dennis@sorthvid.com"; $subject = "$navn"; $message .= "$besked\n\n\n\n"; $message .= "Med venlig hilsen:\n\n"; $message .= "$navn\n"; $message .= "Tlf: $telefon\n"; $message .= "Email: $email\n"; $headers .= "Email fra sorthvid formmail"; mail($recipient, $subject, $message, $headers); print "Beskeden er sendt!"; } else if ($firsttime=="true") { print "Du mangler at udfylde"; } $firsttime="true"; ?> Det skal virke sådan at man skal udfylde alle felterne før man kan sende. Hvis man ikke har udfyldt alle felter skal den komme med en besked om at man skal udfylde alle felterne... Dette script: Den kan godt sende når alle felterne fyldt, men den kommer ikke med en meddelelse når man ikke har gjort det... Hvad er der galt
Annonceindlæg fra Kingston Technology
10. november 2004 - 14:56
#1
<?PHP if ($navn != "" && $telefon != "" && $email != "" && $besked != "") { $recipient = "dennis@sorthvid.com"; $subject = "$navn"; $message .= "$besked\n\n\n\n"; $message .= "Med venlig hilsen:\n\n"; $message .= "$navn\n"; $message .= "Tlf: $telefon\n"; $message .= "Email: $email\n"; $headers .= "Email fra sorthvid formmail"; mail($recipient, $subject, $message, $headers); print "Beskeden er sendt!"; } elseif ($firsttime=="true") { print "Du mangler at udfylde"; } $firsttime="true"; ?>
10. november 2004 - 14:57
#2
tror bare det er det med mellemrum ved elseif
10. november 2004 - 15:09
#3
Det virker desværre stadig ikke. Jerg mangler meddelelsen om at man ikke har udfyldt alle felter, når man ikke har gjort det. det virker som om at firsttime variablen ikke virker. Håber virkelig der er nogen der kan hjælpe mig. /Louise
10. november 2004 - 15:11
#4
...som en lille sidebemærkning kan det nævnes at PHP scriptet ligger i samme dokument som form'en. Hvis det da har noget at sige. /Louise
10. november 2004 - 15:12
#5
kan du ikke lige komme med din form også?
10. november 2004 - 15:18
#6
Her er hele php dokumentet. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div align="center"> <form action="" method="POST"> <table width="374" border="0" cellspacing="0" cellpadding="0"> <tr height="36"> <td width="10" height="36"></td> <td height="36" class="brodtekst"> <p>Name<br> <input name="navn" type="TEXT" class="class" id="navn"> </p></td> <td width="10" height="36"></td> </tr> <tr height="36"> <td height="36"></td> <td height="36" class="brodtekst">Phone<br> <input name="telefon" type="TEXT" class="class" id="telefon"></td> <td height="36"></td> </tr> <tr height="36"> <td width="10" height="36"></td> <td height="36" class="brodtekst"> <p>E-mail<br> <input class="class" type="TEXT" name="email"> </p></td> <td width="10" height="36"></td> </tr> <tr height="120"> <td width="10" height="120"></td> <td height="120" valign="top" class="brodtekst"> <p>Message:<br> <textarea class="body" name="besked" rows="8" cols="66" tabindex="1" ></textarea> <br> <br> <input class="class" type=submit name="Input" value="Send"> <?PHP if ($navn != "" && $telefon != "" && $email != "" && $besked != "") { $recipient = "dennis@sorthvid.com"; $subject = "$navn"; $message .= "$besked\n\n\n\n"; $message .= "Med venlig hilsen:\n\n"; $message .= "$navn\n"; $message .= "Tlf: $telefon\n"; $message .= "Email: $email\n"; $headers .= "Email fra sorthvid formmail"; mail($recipient, $subject, $message, $headers); print "Beskeden er sendt!"; } elseif ($firsttime=="true") { print "Du mangler at udfylde"; } $firsttime="true"; ?> </p></td> <td width="10" height="120"></td> </tr> </table> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td> <p></p></td> </tr> </table> </form> </div> </body> </html>
10. november 2004 - 15:25
#7
Du har da også lavet det på den mest besværlige måde:D
10. november 2004 - 15:29
#8
Hvad ved jeg! Jeg er blond! :-D Hmmm... det var ærgeligt! Har du (eller andre) et forslag til hvad der kunne gøres bedre? /Louise
10. november 2004 - 15:33
#9
Prøv egentlig bare at sige sådan: } elseif($navn == "" || $telefon == "" || $email == "") { print "Du mangler at udfylde et eller flere felter"; }
10. november 2004 - 15:34
#10
nu gætter jeg men prøv alligevel
10. november 2004 - 15:36
#11
Det har jeg prøvet. Det virker ikke. Den vil med det script starte med at sige: "Du mangler at udfylde et eller flere felter" før man har udfyldt nogen felter. /Louise
Slettet bruger
10. november 2004 - 15:51
#12
Jeg har løsningen, men skal lige finde den
10. november 2004 - 15:52
#13
SUPER! ...venter i spænding! :-)
10. november 2004 - 16:12
#14
hmm jeg har måske også en løsning:D
Slettet bruger
10. november 2004 - 16:19
#15
Det ligner ikke helt dit, men du får hele mit layout så kan du selv rette det til, og evt. plukke og tilrette javascript. Håber du kan bruge noget af det ? ............................ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>tilmeld</title> <meta name="Generator" content="Stone's WebWriter 4"> <script language="javascript" type="text/javascript"> function checkform(f){ fail = false; message = ""; s = document.getElementById('failures'); s.style.visibility="hidden"; if(!document.getElementById('tjekok').checked){ fail = true; message += "Du skal acceptere aftalen !-)<br>" document.getElementById('tjekok').focus(); } if(f.fnavn.value==""){ if(!fail)f.fnavn.focus(); fail=true; message += "Du har ikke angivet fornavn.<br>" } if(f.enavn.value==""){ if(!fail)f.enavn.focus(); fail=true; message += "Du har ikke angivet efternavn.<br>" } if(f.adr.value==""){ if(!fail)f.adr.focus(); fail=true; message += "Du har ikke angivet adresse.<br>" } if(f.pnr.value==""){ if(!fail)f.pnr.focus(); fail=true; message += "Du har ikke angivet postnummer.<br>" } if(f.by.value==""){ if(!fail)f.by.focus(); fail=true; message += "Du har ikke angivet by.<br>" } if(f.tlf.value==""){ if(!fail)f.tlf.focus(); fail=true; message += "Du har ikke angivet telefonnummer.<br>" } if(fail){ s = document.getElementById('failures'); s.style.visibility="visible"; s.innerHTML=message; alert('Der er registreret fejl'); return false; } } </script> </head> <body bgcolor="#C0C0C0" text="#000000" link="#0000FF" vlink="#660066" alink="#FF0000"> <h4><a name="top">R</a>egistreringsform<p> Jeg tilmelder nedenstående min have som besøgshave,<br> er myndig og bekræfter at have læst <a href="regler.htm">regler og privatpolitik</a><br> for visithaven og accepterer disse<p> <input type="checkbox" name="tjekok" id="tjekok"> Acceptér</h4> <span id="failures" style="visibility:hidden;color:red;font-weight:bold;"></span> <hr width="90%" style="border:dotted;"> <form action="mailto:visithaven@mail.dk" method="post" onsubmit="return checkform(this);"> <h2>Bruger Information</h2> <table> <tr><td> Fornavn:*</td><td><input type="text" size="30" maxlength="30" name="fnavn"></td></tr> <tr><td> Efternavn:*</td><td><input type="text" size="30" maxlength="30" name="enavn"></td></tr> <tr><td> Adresse:*</td><td><input type="text" size="30" maxlength="30" name="adr"></td></tr> <tr><td> Postnr :*</td><td><input type="text" size="30" maxlength="4" name="pnr"></td></tr> <tr><td> By:*</td><td><input type="text" size="30" maxlength="30" name="by"></td></tr> <tr><td> Telefon:*</td><td><input type="text" size="30" maxlength="8" name="tlf"></td></tr> <tr><td> E-mail:</td><td><input type="text" size="30" maxlength="40" name="mail"></td></tr> <tr><td> www/URL:</td><td><input type="text" size="30" maxlength="40" name="URL"></td></tr> </table> <hr width="90%" style="border:dotted;"> <h2><font face="Verdana, Arial, Helvetica" size="2">Tilhørsforhold</font></h2> <p> <font face="Verdana, Arial, Helvetica" size="2">Vælg den landsdel du vil optages under:</font> </p> <dl> <dd> <font face="Verdana, Arial, Helvetica" size="2"> <select name="menu"> <option value="0" selected> Vælg landsdel (amt) her ! <option value="nordjylland">Nordjylland</option> <option value="viborg">Viborg</option> <option value="ringkobing">Ringkøbing</option> <option value="aarhus ">Århus</option> <option value="vejle">Vejle</option> <option value="ribe">Ribe</option> <option value="sonderjylland">Sønderjylland</option> <option value="fyn">Fyn</option> <option value="vestsjaland">Vestsjælland</option> <option value="frederiksborg">Frederiksborg</option> <option value="roskilde">Roskilde</option> <option value="storstrom">Storstrøm</option> <option value="københavn">København</option> <option value="bornholm">Bornholm</option> </select></font> </dd> </dl> <p> <hr width="90%" style="border:dotted;"> <textarea name=Kommentar cols=60 rows=12 wrap=Virtual>Din beskrivelse af din have: </textarea> <br><p> <font face="Verdana"><input type="submit" value="Indsend formular"> <input type="reset" value="Nulstil felter"></font> </p> </form> </body> </html>
10. november 2004 - 16:36
#16
For lige at vende tilbage til udgangspunktet, så mener jeg at fejlen ligger i din initialisering af $firsttime. Hver gang du kalder dokumentet, bliver $firsttime skabt på ny, så den når aldrig at få værdien true før du tester.
18. juni 2006 - 10:29
#17
Lukketid
Vi tilbyder markedets bedste kurser inden for webudvikling