Tha_Zaynt Skrevet 17. april 2005 Del Skrevet 17. april 2005 (endret) jeg holder på å lage et bestillingsskjema for skjorter. Infoen som skrives inn i skjemaet skal sendes i mail. Jeg har bruke et kontakt-skjemascript som utgangspunkt..Problemet er at inegnting skjer nå jeg trykker på submit...ikke så mye som en error en gang.. bestill.php <h1>Bestillingsskjema - T-skjorte</h1> <br/> <form action="bestilling.php" method="post"> <label>Fornavn</label><br/> <input type="text" name="navn" size="50"/><br/> <label>Etternavn</label><br/> <input type="text" name="navn" size="50"/><br/> <label>E-mail</label><br/> <input type="text" name="email" size="50"/><br/> <label>Antall</label><br/> <input type="text" name="antall" value="1" size="2"/><br/> <label>Størrelse</label><br/> <select name='storrelse'> <option value='0' selected='selected'>--</option> <option value='S'>S</option> <option value='M'>M</option> <option value='L'>L</option> <option value='XL'>XL</option> </select><br/> <label>Postnummer</label><br/> <input type="text" name="postnr" size="5"/><br/> <label>Gateadresse</label><br/> <input type="text" name="gateadr" size="50"/><br/> <input name="send" type="submit" value="Send E-mail"/> <input type="reset" value="Slett"/> </form> <p>Alle felter må fylles ut.</p> bestilling.php <?php include"config2.php"; $email = $_POST['email']; if (!$_POST['fornavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn navnet ditt!</i><br/>"; } if (!$_POST['etternavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!$_POST['email']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) { $feil = 1; echo "<i>Feil format på mailadresse!</i><br/>"; } if (!$_POST['antall']){ $feil = 1; echo "<i>Du må skrive inn hvor mange skjorter du vil bestille!</i><br/>"; } if(10 < $_POST['antall']){ echo"Er du sikker på at du vil bestille mer enn 10 skjorter?<br/>"; } if (!$_POST['postnr']){ $feil = 1; echo "<i>Du har glemt å fylle inn postnummer!</i><br/>"; } if (!$_POST['gateadr']){ $feil = 1; echo "<i>Du har glemt å fylle din gateadresse!</i><br/>"; } if ($_POST['storrelse'] = 0){ $feil = 1; echo "<i>Du må velge størrelse på skjorten!</i><br/>"; } $result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result) if (!$result) { echo"postnummeret du skrev inn eksisterer ikke!"; } if($feil !=1){ $fornavn = $_POST['fornavn']; $etternavn = $_POST['fornavn']; $antall = $_POST['antall']; $storrelse = $_POST['storrelse']; $postnr = $_POST['postnr']; $gateadr = $_POST['gateadr']; $mail = "[email protected]"; $subject = "Bestilling - T-skjorte"; if(mail("$mail", "$subject", " Navn: $fornavn $etternavn E-mail: $email. Antall skjorter: $antall Størrelse: $storrelse: Adresse: $gateadr Postnummer: $postnr Poststed: $result Senders IP: $REMOTE_ADDR ", "From: $navn<$email>\nReturn-path: $email")){ echo "<p><b>Bestillingen din ble sendt og vil bli behandlet så fort som mulig.</b></p>"; } else{ echo"<b>Noe gikk galt og mailen ble ikke sendt. Vennligst prøv igjen senere. Hvis dette problemet fortsetter, ta kontakt med webmaster.</b><br/>"; } } ?> Endret 17. april 2005 av Tha_Zaynt Lenke til kommentar
Prodigy_ Skrevet 17. april 2005 Del Skrevet 17. april 2005 I bestill.php så kaller du både fornavn og etternavn navn i textfeltet, mens i bestilling.php så bruker du $_POST['fornavn'] og $_POST['etternavn']. Tror nok det er der feilen ligger. Lenke til kommentar
Tha_Zaynt Skrevet 17. april 2005 Forfatter Del Skrevet 17. april 2005 (endret) fikset på bestill.php nå, emn ingen forskjell.. <h1>Bestillingsskjema - T-skjorte</h1> <br/> <form action="bestilling.php" method="post"> <label>Fornavn</label><br/> <input type="text" name="fornavn" size="50"/><br/> <label>Etternavn</label><br/> <input type="text" name="etternavn" size="50"/><br/> <label>E-mail</label><br/> <input type="text" name="email" size="50"/><br/> <label>Antall</label><br/> <input type="text" name="antall" value="1" size="2"/><br/> <label>Størrelse</label><br/> <select name='storrelse'> <option value='0' selected='selected'>--</option> <option value='S'>S</option> <option value='M'>M</option> <option value='L'>L</option> <option value='XL'>XL</option> </select><br/> <label>Postnummer</label><br/> <input type="text" name="postnr" size="5"/><br/> <label>Gateadresse</label><br/> <input type="text" name="gateadr" size="50"/><br/> <input name="send" type="submit" value="Send E-mail"/> <input type="reset" value="Slett"/> </form> <p>Alle felter må fylles ut.</p> Hmm...når jeg lastet opp scriptet til kontoen min på start.no fikk jegfaktisk frem error. Hvordan kan det ha seg at jeg ikke får frem error på kontoen min som er hostet av dailyhosting.net da tro? merket forresten at jeg manglet en ; i linje 52 i bestilling.php... Endret 17. april 2005 av Tha_Zaynt Lenke til kommentar
Prodigy_ Skrevet 17. april 2005 Del Skrevet 17. april 2005 Prøv disse da: bestill.php <h1>Bestillingsskjema - T-skjorte</h1> <br /> <form action="bestilling.php" method="post"> <label>Fornavn</label><br/> <input type="text" name="fornavn" size="50"/><br/> <label>Etternavn</label><br/> <input type="text" name="etternavn" size="50" /><br/> <label>E-mail</label><br/> <input type="text" name="email" size="50" /><br/> <label>Antall</label><br/> <input type="text" name="antall" value="1" size="2" /><br/> <label>Størrelse</label><br/> <select name='storrelse'> <option value='0' selected='selected'>--</option> <option value='S'>S</option> <option value='M'>M</option> <option value='L'>L</option> <option value='XL'>XL</option> </select><br/> <label>Postnummer</label><br/> <input type="text" name="postnr" size="5"/><br/> <label>Gateadresse</label><br/> <input type="text" name="gateadr" size="50"/><br/> <input name="send" type="submit" value="Send E-mail"/> <input type="reset" value="Slett"/> </form> <p>Alle felter må fylles ut.</p> bestilling.php <?php include "config2.php"; $email = $_POST['email']; if (!$_POST['fornavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn navnet ditt!</i><br/>"; } if (!$_POST['etternavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!$_POST['email']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) { $feil = 1; echo "<i>Feil format på mailadresse!</i><br/>"; } if (!$_POST['antall']){ $feil = 1; echo "<i>Du må skrive inn hvor mange skjorter du vil bestille!</i><br/>"; } if(10 < $_POST['antall']){ echo "Er du sikker på at du vil bestille mer enn 10 skjorter?<br/>"; } if (!$_POST['postnr']){ $feil = 1; echo "<i>Du har glemt å fylle inn postnummer!</i><br/>"; } if (!$_POST['gateadr']){ $feil = 1; echo "<i>Du har glemt å fylle din gateadresse!</i><br/>"; } if ($_POST['storrelse'] = 0){ $feil = 1; echo "<i>Du må velge størrelse på skjorten!</i><br/>"; } $result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result) if (!$result) { echo "postnummeret du skrev inn eksisterer ikke!"; } if($feil !=1){ $fornavn = $_POST['fornavn']; $etternavn = $_POST['etternavn']; $antall = $_POST['antall']; $storrelse = $_POST['storrelse']; $postnr = $_POST['postnr']; $gateadr = $_POST['gateadr']; $mail = "[email protected]"; $subject = "Bestilling - T-skjorte"; if(mail("$mail", "$subject", " Navn: $fornavn $etternavn E-mail: $email. Antall skjorter: $antall Størrelse: $storrelse: Adresse: $gateadr Postnummer: $postnr Poststed: $result Senders IP: $REMOTE_ADDR ", "From: $navn<$email>\nReturn-path: $email")){ echo "<p><b>Bestillingen din ble sendt og vil bli behandlet så fort som mulig.</b></p>"; } else{ echo"<b>Noe gikk galt og mailen ble ikke sendt. Vennligst prøv igjen senere. Hvis dette problemet fortsetter, ta kontakt med webmaster.</b><br/>"; } } ?> Lenke til kommentar
Tha_Zaynt Skrevet 17. april 2005 Forfatter Del Skrevet 17. april 2005 mailen blir sendt nå men et par feil dukker opp: Størrelse: 0 Poststed: Resource id #4 skjønner ikke hvorfor selcctmenyen min bare sendre valuen 0, men den andre er sikker bare en dum query-feil.. Lenke til kommentar
Tha_Zaynt Skrevet 28. april 2005 Forfatter Del Skrevet 28. april 2005 hmmm...ingen som har peil? jeg har sett på koden litt nå men skjønner fortsatt ikke hvorfor valuen på selectmenyen blir 0 uansett hvilkrn størrelse du velger eller hvorfor Poststed blir til Poststed: Resource id #4 med queryen: $result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result); Poststed: $result Lenke til kommentar
Prodigy_ Skrevet 28. april 2005 Del Skrevet 28. april 2005 Hmm... Prøv å bytte ut <option value='0' selected='selected'>--</option> Med <option selected value='0'>--</option> Tviler på at det funker, men det er verdt er forsøk. Lenke til kommentar
Tha_Zaynt Skrevet 28. april 2005 Forfatter Del Skrevet 28. april 2005 Hmm... Prøv å bytte ut <option value='0' selected='selected'>--</option> Med <option selected value='0'>--</option> Tviler på at det funker, men det er verdt er forsøk. hjalp nok ikke det nei...nå er siden valodert (X)HTML 1.0 Scrict også, men det funker fortsatt ikke. Lenke til kommentar
kakkle Skrevet 28. april 2005 Del Skrevet 28. april 2005 hmmm...ingen som har peil? jeg har sett på koden litt nå men skjønner fortsatt ikke hvorfor valuen på selectmenyen blir 0 uansett hvilkrn størrelse du velger eller hvorfor Poststed blir til Poststed: Resource id #4 med queryen: $result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result); Poststed: $result Du skriver jo ut $result... Du mener vel sikkert å skrive ut $row, slik: prøv med echo "poststed:".$row[0]; Lenke til kommentar
Tha_Zaynt Skrevet 28. april 2005 Forfatter Del Skrevet 28. april 2005 (endret) ahh...selfølgelig Nå funker i alle fall det...men jeg har fortsatt problemer med den select-menyen... EDIT; Fant feilen. Nå funker alt som det skal. Takker så meget for hjelpen! Endret 28. april 2005 av Tha_Zaynt Lenke til kommentar
Tha_Zaynt Skrevet 29. april 2005 Forfatter Del Skrevet 29. april 2005 Et lite spm til: hvordan får jeg alle feilmeldingene inn i ett array istedet for å ha det slik: f (!$_POST['fornavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn navnet ditt!</i><br/>"; } if (!$_POST['etternavn']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!$_POST['email']){ $feil = 1; echo "<i>Du har glemt å fylle inn din e-mail!</i><br/>"; } if (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) { $feil = 1; echo "<i>Feil format på mailadresse!</i><br/>"; } if (!$_POST['antall']){ $feil = 1; echo "<i>Du må skrive inn hvor mange skjorter du vil bestille!</i><br/>"; } if(10 < $_POST['antall']){ echo "Er du sikker på at du vil bestille mer enn 10 skjorter?<br/>"; } if (!$_POST['postnr']){ $feil = 1; echo "<i>Du har glemt å fylle inn postnummer!</i><br/>"; } if (!$_POST['gateadr']){ $feil = 1; echo "<i>Du har glemt å fylle din gateadresse!</i><br/>"; } if ($_POST['storrelse'] = 0){ $feil = 1; echo "<i>Du må velge størrelse på skjorten!</i><br/>"; } osv. noen som har peiling? Lenke til kommentar
Tha_Zaynt Skrevet 2. mai 2005 Forfatter Del Skrevet 2. mai 2005 ingen som har peiling på hvordan jeg putter alle error'ene inn i ett array altså? Grunnen til at jeg vil gjøre det, er for det første at koden kommer til å se penere og mer rydding ut. For det andre blir det da lettere å en slags error-side.. Jeg har prøvd å sett litt på php.net for å se om jeg fant noe nytting info der, men jeg må innrømme at jeg skjønte pent lite av det som stod om arrays. Lenke til kommentar
Sono Juventino Skrevet 7. mai 2005 Del Skrevet 7. mai 2005 (endret) Er ganske noob, men du kan vel includere en side du kaller "feil", eller noe sånt? Skal vell funke. Da fikser du i allefall at koden ser ryddigere ut. Endret 7. mai 2005 av ett Lenke til kommentar
Tha_Zaynt Skrevet 7. mai 2005 Forfatter Del Skrevet 7. mai 2005 (endret) jeg fikk det til...jeg satt meg ned og leste noen tutorialer om arrays og fant ut at jeg kunne gjøre det slik: if(is_numeric($storrelse)){ $array[0] = "Du må velge en størrelse på skjorten!"; } if (!$_POST['fornavn']){ $array[1] = "Du har glemt å fylle inn navnet ditt!"; } if (!$_POST['etternavn']){ $array[2] = "Du har glemt å fylle inn ditt etternavn!"; } if (!$_POST['email']){ $array[3] = "Du har glemt å fylle inn din e-mail!"; } if (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) { $array[4] = "Feil format på mailadresse!"; } if (!$_POST['antall']){ $array[5] = "Du må skrive inn hvor mange skjorter du vil bestille!"; } if(10 < $_POST['antall']){ $array[6] = "Er du sikker på at du vil bestille mer enn 10 skjorter?"; } if (!$_POST['postnr']){ $array[7] = "Du har glemt å fylle inn postnummer!"; } if (!$_POST['gateadr']){ $array[8] = "Du har glemt å fylle din gateadresse!"; } $result = mysql_query("SELECT poststed FROM postadr WHERE postnr ='{$_POST['postnr']}'"); $row = mysql_fetch_row($result); if (!empty($_POST['postnr']) and empty($row[0])) { $array[9] = "postnummeret du skrev inn eksisterer ikke!"; } if(!empty($array)){ foreach ($array as $value){ echo "<em>$value</em><br/>"; } echo"<a href=\"javascript:history.back()\">Tilbake</a>"; } elseif(empty($array)){ Endret 7. mai 2005 av Tha_Zaynt Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå