29. september 2006 - 15:25
Der er
28 kommentarer og 1 løsning
hjælp søges til at finde en formularfejl
Jeg har, ved hjælp af koder fundet her på eksperten, fået lavet denne formular, men den del med at få vist at der er fejl i formularen virker ikke... Nu er jeg endnu ikke ret god til php og indtil videre må jeg forlade mig på at rette scripts til. Er der nogen, der kan spotte mit problem? ---------- <?php if($_POST[navn] && $_POST[adresse] && $_POST[postnr] && $_POST[postby] && $_POST[besked]) { $msg = "Mail fra:\t$_POST[navn]\r\n"; $msg .= "Adresse:\t$_POST[adresse]\r\n"; $msg .= "Postnr.:\t$_POST[postnr]\r\n"; $msg .= "By:\t$_POST[postby]\r\n"; $msg .= "E-Mail:\t$_POST[email]\r\n"; $msg .= "telefon:\t$_POST[telefon]\r\n"; $msg .= "Bruger har valgt:\t$_POST[r1]\r\n\r\n"; $msg .= "besked:\t$_POST[besked]\r\n\r\n"; $minemail = "MIN@EMAIL.dk"; $emne = "Formmail-test"; $mailheaders = "From: Formmail <> \r\n"; $mailheaders .= "Reply-To: $_POST[email]\r\n"; $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n"; $mailheaders .= "\r\n"; mail($minemail, $emne, $msg, $mailheaders); print "<center>Mailen er sendt til $minemail</center>"; } elseif ($send) { print "Du skal huske at udfylde felterne Navn, Adresse, Postnr. og By"; } ?> <form method="post" action="<?php $php_self;?>"> <div align="left"> <span class="beskriv">Navn</span><input type="text" name="navn" /><br> <span class="beskriv">Adresse</span><input type="text" name="adresse" /><br> <span class="beskriv">Postnr.</span><input style="width:40px;" type="text" name="postnr" /> By <input style="width:111px;" type="text" name="postby" /><br> <span class="beskriv">E-mail</span><input type="text" name="email" /><br> <span class="beskriv">Telefon</span><input type="text" name="telefon" /><br> <br> Jeg ønsker flg. abbonements-periode:<br> <span class="beskriv">Kvartals</span> <input style="width:auto;border:0px;background-color:#fff;" type="radio" name="r1" value="kvartal" checked><br> <span class="beskriv">Halvårligt</span> <input style="width:auto;border:0px;background-color:#fff;" type="radio" name="r1" value="halvår"><br> <span class="beskriv">Helt år</span> <input style="width:auto;border:0px;background-color:#fff;" type="radio" name="r1" value="helår"><br> <br> <span class="beskriv">Besked</span><textarea name="besked" rows="6" cols="30"></textarea> <p align="right"><input type="hidden" name="hiddenName" value="hiddenValue" /> <button name="Reset" value="Nulstil" type="reset">Nulstil</button> <button name="s1" value="Send" type="submit">Send</button></p> </div> </form>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
29. september 2006 - 15:33
#1
Hvad sker der/sker der ikke? Nogen fejlmeddelelser?
29. september 2006 - 15:40
#2
Nej, den skriver bare ikke "Du skal huske at udfylde felterne Navn, Adresse, Postnr. og By" Når jeg har sendt en rigtig formular skriver den ganske rigtigt "Mailen er sendt til MIN@EMAIL.dk"
29. september 2006 - 15:41
#3
Og den rydder de felter, der er udfyldt.
29. september 2006 - 15:44
#4
} elseif ($send) { <- hvor kommer $send fra? Prøv at ændre den til: } else {
29. september 2006 - 16:02
#5
Ja, nu er den der ... Så godt og vel! - Den står der når jeg åbner min side med formularen. Og erstattes så af "Mailen er sendt osv." når en rigtig er sendt.
29. september 2006 - 16:06
#6
Så skal det nok være: } elseif(isset($_POST['s1'])) {
29. september 2006 - 16:10
#8
Ja, nu viser den den ønskede linje, men det er jo ikke særlig hensigtsmæssigt, at den rydder alt man har skrevet, så man skal starte forfra. Kan man ikke undgå det?
29. september 2006 - 17:39
#9
Kan det jo godt, så skal du bare have value='".$_POST['feltnavn']."' på dine inputfelter.
30. september 2006 - 17:38
#10
Det virker ikke, når jeg gør sådan her: <span class="beskriv">Navn</span><input type="text" name="navn" value="<?php .$_POST['feltnavn'].?>" /><br> - Men det er måske også forkert placeret?
30. september 2006 - 17:43
#11
... og heller ikke når jeg gør sådan her: <span class="beskriv">Navn</span><input type="text" name="navn" value="<?php .$_POST[navn].?>" /><br>
30. september 2006 - 17:57
#12
prøv: <?PHP echo $_POST['navn']; ?>
30. september 2006 - 20:59
#13
jo, det virker. Men er der ikke nogen nemmere måde at sige "lad være med at nulstille" for jeg har 10-15 formularer med en del inputs så det...
30. september 2006 - 21:01
#14
og mine radioknapper har jo en value i forvejen.
30. september 2006 - 21:08
#15
Nej, der er ikke "nulstil-ikke"-kommando. Der er flere måder at gøre det, hvor det her er én af dem, men de er alle lige bøvlede om man vil. Dine radiobuttons value skal du ikke pille ved. Der skal du kun afgøre om de skal være "selected" eller ej.
30. september 2006 - 21:26
#16
hmmm. Så må jeg jo igang! - Og jeg siger ihvertfald mange tak for hjælpen! Læg et svar så skal du få dine points lige med det samme :-)
30. september 2006 - 21:32
#17
Selv mange tak :) - er der noget, spørger du bare...
30. september 2006 - 21:32
#18
Hov, og en kommentar?!
30. september 2006 - 21:37
#19
Ja, der var faktisk en ting mere, nu jeg har dig! - Jeg skal i et par stykker af dem have mulighed for at de kan vedhæfte en fil. Det ser sådan her ud: <span class="beskriv">Vedhæft fil</span><input type="file" name="vedhæftet" /><br> Men hvad gør jeg i php-afdelingen?
30. september 2006 - 21:44
#20
hov, en ting mere: Det ser ikke helt rigtigt ud, når jeg forsøger at lave value til et textarea?
30. september 2006 - 21:56
#21
1. Textarea har ikke value, men skal klares med: <textarea name='noget'>værdi her</textarea> 2. Jeg tror ikke, at du kan få udfyldt en fil-formular (type='file'). I fald af at det kan lade sig gøre, ved jeg desværre ikke lige umiddelbart hvordan.
01. oktober 2006 - 00:21
#22
Jeg vil heller ikke have udfyldt noget i filformularen, jeg vidste bare ikke, at det ikke skulle omtales i php-delen at der også var en vedhæftet fil. Nu ser det hele ud til at virke, dog ville jeg gerne have slettet indholdet i felterne eller helt have skjult min <form> så der kun står "Mailen er sendt til minemail"
01. oktober 2006 - 01:31
#23
Så vil det nemmeste løsning nok være, at lave en variabel der beskriver om din mail er sendt: mail(...) $sendt = 1; print(...); og så laver du: <?PHP if(!isset($sendt)) { ?> -- alle dine forms her <?PHP } ?>
01. oktober 2006 - 01:50
#24
ÅÅÅh jeg er ved at være helt skeløjet af at kikke på det her! - hvor siger du det skal sættes ind og hvad symboliserer (...)
01. oktober 2006 - 03:05
#25
... symboliserer bare, det kode du har i dine paranteser. Jeg har kun tilføjet en lille smule, og det med f.eks. mail(...) er bare at jeg vil indsætte noget efter din mail()-funktion. Det var for ikke at skulle copy/paste det hele igen...
09. oktober 2006 - 13:13
#26
Nå, nu har jeg været lidt væk fra tingene (på ferie med familien Aaaaah) og nu er jeg klar med friske øjne! Jeg har forsøgt at gøre som du beskriver, men nu vises intet ... ------------------------------- mail($minemail, $emne, $msg, $mailheaders); $sendt = 1; print "<center>Mailen er sendt til $minemail</center>"; <?PHP if(!isset($sendt)) { ?> <form method="post" action="<?php $php_self;?>"> ........................................... . . . Hele min formular står her . . . ........................................... </form> <?PHP } } elseif(isset($_POST['s1'])) { print "Felter mærket med * skal udfyldes"; } ?> Hvad mon jeg gør galt?
09. oktober 2006 - 14:24
#27
Umm, kan du ikke lige paste hele din kode som den er nu? Må ærligt indrømme, at jeg ikke helt kan huske hovede og hale i den her tråd. Men velkommen hjem fra ferie da :)
09. oktober 2006 - 15:09
#28
Tak! og nej, det er også ved at være lidt broget! Og igen en gang: Tak for din gode tålmodighed! Men det her er den der virker, og så ved jeg ikke helt hvordan jeg skal sætte "01/10-2006 01:31:27" ind... <div id="formular"> <?php if($_POST[navn] && $_POST[adresse] && $_POST[postnr] && $_POST[postby]) { $msg = "Mail fra:\t$_POST[navn]\r\n"; $msg .= "Adresse:\t$_POST[adresse]\r\n"; $msg .= "Postnr.:\t$_POST[postnr]\r\n"; $msg .= "By:\t$_POST[postby]\r\n"; $msg .= "E-Mail:\t$_POST[email]\r\n"; $msg .= "telefon:\t$_POST[telefon]\r\n"; $msg .= "Bruger har valgt:\t$_POST[r1]\r\n\r\n"; $msg .= "besked:\t$_POST[besked]\r\n\r\n"; $minemail = "MIN@MAIL.dk"; $emne = "fra MINSIDE.dk - abbonementsbestilling"; $mailheaders = "From: Formmail <> \r\n"; $mailheaders .= "Reply-To: $_POST[email]\r\n"; $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n"; $mailheaders .= "\r\n"; mail($minemail, $emne, $msg, $mailheaders); print "<center>Mailen er sendt til $minemail</center>"; } elseif(isset($_POST['s1'])) { print "Felter mærket med * skal udfyldes"; } ?> <form method="post" action="<?php $php_self;?>"> <div align="left"> <span class="beskriv">Navn *</span><input type="text" name="navn" value="<?PHP echo $_POST['navn']; ?>" /><br> <span class="beskriv">Adresse *</span><input type="text" name="adresse" value="<?PHP echo $_POST['adresse']; ?>" /><br> <span class="beskriv">Postnr. *</span><input style="width:40px;" type="text" name="postnr" value="<?PHP echo $_POST['postnr']; ?>" /> By <input style="width: 99px !important; width:141px;" type="text" name="postby" value="<?PHP echo $_POST['postby']; ?>" /><br> <span class="beskriv">E-mail</span><input type="text" name="email" value="<?PHP echo $_POST['email']; ?>" /><br> <span class="beskriv">Telefon</span><input type="text" name="telefon" value="<?PHP echo $_POST['telefon']; ?>" /><br> <br> Jeg ønsker flg. abbonements-periode:<br> <span class="beskriv">Kvartals</span> <input class="choise" type="radio" name="r1" value="kvartal" checked><br> <span class="beskriv">Halvårligt</span> <input class="choise" type="radio" name="r1" value="halvår"><br> <span class="beskriv">Helt år</span> <input class="choise" type="radio" name="r1" value="helår"><br> <br> <span class="beskriv">Evt. besked</span><textarea name="besked" rows="6" cols="30"><?PHP echo $_POST['besked']; ?></textarea> <p align="right"><input type="hidden" name="hiddenName" value="hiddenValue" /> <p> </p> <button name="Reset" value="Nulstil" type="reset">Nulstil</button> <button name="s1" value="Send" type="submit">Send</button></p> <p> </p> <p align="left">OBS: Felter mærket med * skal udfyldes</p> </div> </form> </div>
09. oktober 2006 - 17:37
#29
Prøvet sådan her: <div id="formular"> <?php if($_POST[navn] && $_POST[adresse] && $_POST[postnr] && $_POST[postby]) { $msg = "Mail fra:\t$_POST[navn]\r\n"; $msg .= "Adresse:\t$_POST[adresse]\r\n"; $msg .= "Postnr.:\t$_POST[postnr]\r\n"; $msg .= "By:\t$_POST[postby]\r\n"; $msg .= "E-Mail:\t$_POST[email]\r\n"; $msg .= "telefon:\t$_POST[telefon]\r\n"; $msg .= "Bruger har valgt:\t$_POST[r1]\r\n\r\n"; $msg .= "besked:\t$_POST[besked]\r\n\r\n"; $minemail = "MIN@MAIL.dk"; $emne = "fra MINSIDE.dk - abbonementsbestilling"; $mailheaders = "From: Formmail <> \r\n"; $mailheaders .= "Reply-To: $_POST[email]\r\n"; $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n"; $mailheaders .= "\r\n"; //mail($minemail, $emne, $msg, $mailheaders); $sendt = 1; print "<center>Mailen er sendt til $minemail</center>"; } elseif(isset($_POST['s1'])) { print "Felter mærket med * skal udfyldes"; } ?> <?PHP if(!isset($sendt)) { ?> <form method="post" action="<?php $php_self;?>"> <div align="left"> <span class="beskriv">Navn *</span><input type="text" name="navn" value="<?PHP echo $_POST['navn']; ?>" /><br> <span class="beskriv">Adresse *</span><input type="text" name="adresse" value="<?PHP echo $_POST['adresse']; ?>" /><br> <span class="beskriv">Postnr. *</span><input style="width:40px;" type="text" name="postnr" value="<?PHP echo $_POST['postnr']; ?>" /> By <input style="width: 99px !important; width:141px;" type="text" name="postby" value="<?PHP echo $_POST['postby']; ?>" /><br> <span class="beskriv">E-mail</span><input type="text" name="email" value="<?PHP echo $_POST['email']; ?>" /><br> <span class="beskriv">Telefon</span><input type="text" name="telefon" value="<?PHP echo $_POST['telefon']; ?>" /><br> <br> Jeg ønsker flg. abbonements-periode:<br> <span class="beskriv">Kvartals</span> <input class="choise" type="radio" name="r1" value="kvartal" checked><br> <span class="beskriv">Halvårligt</span> <input class="choise" type="radio" name="r1" value="halvår"><br> <span class="beskriv">Helt år</span> <input class="choise" type="radio" name="r1" value="helår"><br> <br> <span class="beskriv">Evt. besked</span><textarea name="besked" rows="6" cols="30"><?PHP echo $_POST['besked']; ?></textarea> <p align="right"><input type="hidden" name="hiddenName" value="hiddenValue" /> <p> </p> <button name="Reset" value="Nulstil" type="reset">Nulstil</button> <button name="s1" value="Send" type="submit">Send</button></p> <p> </p> <p align="left">OBS: Felter mærket med * skal udfyldes</p> </div> </form> <?PHP } ?> </div> ?
Vi tilbyder markedets bedste kurser inden for webudvikling