Avatar billede ballegaarden Nybegynder
30. januar 2010 - 18:30 Der er 15 kommentarer og
1 løsning

hjælp til php til en bestillingsformular

Er her en ekspert i php, der kan hjælpe mig med at se hvor problemerne i min formular ligger.
Jeg ligger lige en kopi af den jeg har liggende nu inden jeg har rettet i den - jeg har prøvet at tilføje, rette og slette i det hele, men lige meget hjælper det, for jeg bliver med at få fejl meddelser, på min side: http://www.ballegaarden.com/kurv.html

php formularen:

<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "mail@ballegaarden.com";
$afsendermail = "kanikke@besvares.invalid";
$viderestil = "http://ballegaarden.com/svar-besked.html";

/* Her hentes oplysningerne fra de udfyldte felter */
$tlf = $_REQUEST['tlf'] ;
$email = $_REQUEST['email'] ;
$epost = $_REQUEST['epost'] ;
$besked = $_REQUEST['besked'];
$navn = $_REQUEST['navn'];
$adresse = $_REQUEST['adresse'];
$by = $_REQUEST['by'];
$spamfaelde = $_REQUEST['spamfaelde'];
$kopi = $_REQUEST['kopi'];
$emne = $_REQUEST['emne'];

$aktivitets_tappe = $_REQUEST['aktivitets_tappe'];
$Antal4 = $_REQUEST['Antal4'];
$Sum4 = $_REQUEST['Sum4'];

$guf_taske = $_REQUEST['guf_taske'];
$Antal5 = $_REQUEST['Antal5'];
$Sum5 = $_REQUEST['Sum5'];

$bolde = $_REQUEST['bolde'];
$Antal6 = $_REQUEST['Antal6'];
$Sum6 = $_REQUEST['Sum6'];

$underlag1 = $_REQUEST['underlag1'];
$Antal7 = $_REQUEST['Antal7'];
$Sum7 = $_REQUEST['Sum7'];

$underlag2 = $_REQUEST['underlag2'];
$Antal8 = $_REQUEST['Antal8'];
$Sum8 = $_REQUEST['Sum8'];

$underlag3 = $_REQUEST['underlag3'];
$Antal9 = $_REQUEST['Antal9'];
$Sum9 = $_REQUEST['Sum9'];

$varmepude_u = $_REQUEST['varmepude_u'];
$Antal10 = $_REQUEST['Antal10'];
$Sum10 = $_REQUEST['Sum10'];

$varmepude_m = $_REQUEST['varmepude_m'];
$Antal11 = $_REQUEST['Antal11'];
$Sum11 = $_REQUEST['Sum11'];

$daekken = $_REQUEST['daekken'];
$Antal12 = $_REQUEST['Antal12'];
$Sum12 = $_REQUEST['Sum12'];

$pude = $_REQUEST['pude'];
$Antal13 = $_REQUEST['Antal13'];
$Sum13 = $_REQUEST['Sum13'];

$hundeskal_lille = $_REQUEST['hundeskal_lille'];
$Antal14 = $_REQUEST['Antal14'];
$Sum14 = $_REQUEST['Sum14'];

$hundeskal_stor = $_REQUEST['hundeskal_stor'];
$Antal15 = $_REQUEST['Antal15'];
$Sum15 = $_REQUEST['Sum15'];

$lightcap300 = $_REQUEST['lightcap300'];
$smoke300 = $_REQUEST['smoke300'];
$rod300 = $_REQUEST['rod300'];
$Antal1 = $_REQUEST['Antal1'];
$Sum1 = $_REQUEST['Sum1'];

$lightcap200 = $_REQUEST['lightcap200'];
$smoke200 = $_REQUEST['smoke200'];
$klar200 = $_REQUEST['klar200'];
$Antal2 = $_REQUEST['Antal2'];
$Sum2 = $_REQUEST['Sum2'];

$lightship = $_REQUEST['lightship'];
$ls_bla = $_REQUEST['ls_bla'];
$ls_rod = $_REQUEST['ls_rod'];
$Antal3 = $_REQUEST['Antal3'];
$Sum3 = $_REQUEST['Sum3'];

$ialt0 = $_REQUEST['ialt0'];


/* Her tjekkes, om det skjulte spamfælde-felt er udfyldt */
if ($email > '') {
  echo "Du er havnet i formularens spamfælde. Det burde ikke være muligt at havne her ved et uheld, så skam dig!";
  exit ();
}

/* Her tjekkes, om der er forbudte tegn i felterne */
if (eregi("[\]",$navn) || eregi("[\]",$epost) || eregi("[\]",$emne) || eregi("[@]",$tlf)){
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt.";
  exit();
}

/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if (epost > '') {
  $headers="From: $navn <$epost>\r\n";
}
else {
  $headers="From: Bestilformular <$afsendermail>\r\n";
}

/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via bestilformularen på $hjemmeside:\r\n\r

\nAktivitets-tæppe: $aktivitets_tappe\r\nAktivitets-tæppe stk.: $Antal4\r\nAktivitets-tæppe kr.: $Sum4
\nGUF-taske: $guf_taske\r\nGUF-taske stk.: $Antal5\r\nGUF-taske kr.: $Sum5
\nBolde: $bolde\r\nBolde stk.: $Antal6\r\nBolde kr.: $Sum6
\nUnderlag1: $underlag1\r\nUnderlag1 stk.: $Antal7\r\nUnderlag1 kr.: $Sum7
\nUnderlag2: $underlag2\r\nUnderlag2 stk.: $Antal8\r\nUnderlag2 kr.: $Sum8
\nUnderlag3: $underlag3\r\nUnderlag3 stk.: $Antal9\r\nUnderlag3 kr.: $Sum9
\nVarmepude_u: $varmepude_u\r\nVarmepude_u stk.: $Antal10\r\nVarmepude_u kr.: $Sum10
\nVarmepude_m: $varmepude_m\r\nVarmepude_m stk.: $Antal11\r\nVarmepude_m kr.: $Sum11
\nDækken: $daekken\r\nDækken stk.: $Antal12\r\nDækken kr.: $Sum12
\nPude: $pude\r\nPude stk.: $Antal13\r\nPude kr.: $Sum13
\nHundeskål_lille: $hundeskal_lille\r\nHundeskål_lille stk.: $Antal14\r\nHundeskål_lille kr.: $Sum14
\nHundeskål_stor: $hundeskal_stor\r\nHundeskål_stor stk.: $Antal15\r\nHundeskål_stor kr.: $Sum15
\nLightCap300: $lightcap300\r\nSmoke: $smoke300\r\nRød: $rod300\r\nLightCap stk.: $Antal1\r\nLightCap kr.: $Sum1
\nLightCap200: $lightcap200\r\nSmoke: $smoke200\r\nKlar: $klar200\r\nLightCap stk.: $Antal2\r\nLightCap kr.: $Sum2
\nLightShip: $lightship\r\nBlå: $ls_bla\r\nRød: $ls_rod\r\nLightShip stk.: $Antal3\r\nLightShip kr.: $Sum3
\r\nSamlet pris: $ialt0
\nNavn:
$navn\r\nAdresse: $adresse\r\nBy: $by
\nE-mail: $epost\r\r\nTlf: $tlf
\nBesked: $besked";

/* Her samles oplysningerne til afsenderens kopi af mailen */
$kopimail="Hej $navn\r\nDu har sendt følgende via bestilformularen på $hjemmeside:\r\n$besked";

if ($kopi > '') {
  /* Her sendes til modtageradressen */
  mail($mail, $emne, $oplysninger, $headers);

  /* Her sendes en kopimail til afsenderen */
  mail($epost, $emne, $kopimail, $formularheaders);
}

else {
  /* Her sendes mailen til modtageradressen */
  mail($mail, $emne, $oplysninger, $headers);
}

/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>
Avatar billede Slettet bruger
30. januar 2010 - 18:43 #1
Hvori ligger problemet?
Når jeg prøvekører formularen får jeg blot en "Din meddelelse er blevet sendt" i hovedet.
Jeg ser desuden ingen umiddelbare problemer i scriptet.
Avatar billede keysersoze Guru
30. januar 2010 - 19:59 #2
så kigger du ikke så godt efter kimsey - fx er der et spam-tjek, men uanset om man bliver fanget af det eller ej fortsætter koden.
Avatar billede ballegaarden Nybegynder
30. januar 2010 - 20:19 #3
Det var mærkeligt, for før virkede den ikke i Firefox og når jeg sender den med Explore, går den igennem, men får jeg denne meddelse:


Notice: Undefined index: spamfaelde in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 15

Notice: Undefined index: kopi in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 16

Notice: Undefined index: emne in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 17

Notice: Undefined index: aktivitets_tappe in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 19

Notice: Undefined index: guf_taske in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 23

Notice: Undefined index: bolde in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 27

Notice: Undefined index: underlag1 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 31

Notice: Undefined index: underlag2 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 35

Notice: Undefined index: underlag3 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 39

Notice: Undefined index: varmepude_u in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 43

Notice: Undefined index: varmepude_m in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 47

Notice: Undefined index: daekken in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 51

Notice: Undefined index: pude in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 55

Notice: Undefined index: hundeskal_lille in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 59

Notice: Undefined index: hundeskal_stor in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 63

Notice: Undefined index: lightcap300 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 67

Notice: Undefined index: smoke300 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 68

Notice: Undefined index: rod300 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 69

Notice: Undefined index: lightcap200 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 73

Notice: Undefined index: smoke200 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 74

Notice: Undefined index: klar200 in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 75

Notice: Undefined index: lightship in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 79

Notice: Undefined index: ls_bla in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 80

Notice: Undefined index: ls_rod in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 81

Notice: Use of undefined constant epost - assumed 'epost' in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 101

Warning: Cannot modify header information - headers already sent by (output started at /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php:15) in /customers/ballegaarden.com/ballegaarden.com/httpd.www/bestilformular9.php on line 152
Avatar billede Slettet bruger
30. januar 2010 - 23:49 #4
Undefined index:
Det er ikke muligt at hente værdien fra en "disabled" input-boks. Lav dem "readonly" i stedet, eller, klart at fortrække, kod værdien direkte ind i e-mail-afsenderen. Ellers kan jeg, hvis du ikke er alt for opmærksom, give mig selv små "rabatter" på dine varer.

Use of undefined constant epost:
Du har glemt at sætte et dollartegn foran en af dine variabler, og den bliver derfor opfattet som en konstant, der ikke er defineret. Sæt bare et $ foran "epost" på linje 101.

Cannot modify header information:
Du har højst sandsynligt et mellemrum eller en blank linje før det første "<?php". Hvis det ikke er tilfældet, skal du tjekke om filen er kodet med tengsættet UTF-8 med BOM, og skifte dette til UTF-8 uden BOM.

Desuden, brug hellere $_POST i stedet for $_REQUEST når du kun POST'er ting til scriptet.
Avatar billede Slettet bruger
30. januar 2010 - 23:51 #5
#2, ja, jeg kiggede efter fejl, ikke efter programeringsmæssige dummerter.

Ballegarden, fjern mellemrummet mellem "exit" og "()" på linje 91.
Avatar billede ballegaarden Nybegynder
31. januar 2010 - 12:26 #6
Du skal have mange tak for rettelserne, men da jeg ikke er en ørn til de der php tegn der ikke må glemmes, har jeg nu prøvet alt muligt også rettet det du foreslåg, men lige meget hvad jeg gør, får jeg fejlmeddelser.
Jeg var ikke klar over at der var fejl i formularen, da jeg havde slået meddelelserne fra hos min udbyder. Jeg er først blevet klar over at der må være noget der ikke fungerer, da en med Firefox har kontaktet mig, da hans bestilling ikke gik igennem.

Nu har jeg prøvet at minimerer min bestillings side, så er der en her inde der vil tjene 200 point og lave en php formular til mig?
Til denne side:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="da">
<head>
  <script></script>
  <meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
  <title>kurv-ny</title>
  <meta name="author" content="Damsgaard">
</head>
<body>
<script language="javascript" type="text/javascript">
numFields = 2;
function beregn(fld){
if(!fld.value.match(/^\d+\.?\d*$/)){
alert('Ugyldigt antal angivet');
fld.value = fld.defaultValue;
return false;
}
var num = fld.name.substring(5);
var p = document.getElementById("Pris"+num).value;
var s = document.getElementById("Sum"+num);
var ialt = document.getElementById("ialt0");
var ialt1 = document.getElementById("ialt1");
var pris = p;
if(p.indexOf(",-")>-1){
pris = p.substring(0,p.indexOf(",-"));
}else{
komma = p.indexOf(",")
if(p.indexOf(",")>0){
pris = (p.substring(0,komma)+"."+p.substring(komma+1));
}
}
pris = +pris;
var sum = pris*fld.value;
s.value = formatNum(sum);
sum = 0;
for(i=1;numFields+1>i;i++){
sum += +document.getElementById("Sum"+i).value
}
ialt.value = formatNum(sum);
ialt1.value = formatNum(sum*1.25);
}
function formatNum(t){
if((""+t).length>(""+t).indexOf(".")+3)t=(Math.round(t*100))/100;
if((""+t).indexOf(".")==-1)t=t+".00";
if((""+t).indexOf(".")+2==(""+t).length)t=t+"0";
return t;
}
</script>
<table
style="font-family: Arial; width: 800px; height: 200px; text-align: left; margin-left: auto; margin-right: auto;"
border="2" bordercolor="#7c98ae" cellpadding="2">
  <tbody align="center">
    <tr>
      <td>
      <table style="text-align: left; width: 760px;"
border="0" cellpadding="0" cellspacing="0">
      </table>
      <form method="post" action="bestilformular.php"
name="formular">
        <table
style="width: 760px; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="0" cellspacing="0">
        </table>
        <table
style="width: 760px; text-align: left; margin-left: auto; margin-right: auto; height: 281px;"
border="0" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td style="width: 102px; color: rgb(66, 87, 103);"><small>Cap300</small></td>
              <td
style="text-align: left; font-family: Arial; height: 40px; width: 42px; color: rgb(66, 87, 103);"><br>
              </td>
              <td style="text-align: right; width: 238px;"><small
style="color: rgb(66, 87, 103); font-family: Arial;">sort </small><input
name="smoke300" type="checkbox"><small
style="color: rgb(66, 87, 103); font-family: Arial;">&nbsp;
rød</small><input name="rod300" type="checkbox"></td>
              <td style="text-align: right; width: 130px;"><input
tabindex="1" id="Antal1" name="Antal1" value="0"
onchange="beregn(this);"
onfocus="if(this.value==this.defaultValue)this.value='';"
onblur="if(this.value=='')this.value=this.defaultValue;"
size="20" style="width: 40px;"><small
style="color: rgb(66, 87, 103); font-family: Arial;">&nbsp;stk.</small>
              </td>
              <td style="text-align: right; width: 100px;"><input
id="Pris1" name="Pris1" value="120,00" size="20"
readonly="readonly" style="width: 40px;" type="text"><small
style="color: rgb(66, 87, 103); font-family: Arial;"> Dkk.</small>
              </td>
              <td style="text-align: right; width: 130px;"><input
id="Sum1" name="Sum1" size="20"
style="width: 60px;" readonly="readonly"><small
style="color: rgb(66, 87, 103); font-family: Arial;"> Dkk.</small>
              </td>
            </tr>
            <tr>
              <td style="width: 102px; color: rgb(66, 87, 103);"><small>Cap
200</small></td>
              <td
style="text-align: left; font-family: Arial; height: 40px; width: 42px; color: rgb(66, 87, 103);"><br>
              </td>
              <td style="text-align: right; width: 238px;"><br>
              </td>
              <td style="text-align: right; width: 130px;"><input
tabindex="2" id="Antal2" name="Antal2" value="0"
onchange="beregn(this);"
onfocus="if(this.value==this.defaultValue)this.value='';"
onblur="if(this.value=='')this.value=this.defaultValue;"
size="20" style="width: 40px;"><small
style="color: rgb(66, 87, 103); font-family: Arial;">&nbsp;stk.</small>
              </td>
              <td style="text-align: right; width: 100px;"><input
id="Pris2" name="Pris2" value="100,00" size="20"
readonly="readonly" style="width: 40px;" type="text"><small
style="color: rgb(66, 87, 103); font-family: Arial;"> Dkk.</small>
              </td>
              <td style="text-align: right; width: 130px;"><input
id="Sum2" name="Sum2" size="20"
style="width: 60px;" readonly="readonly"><small
style="color: rgb(66, 87, 103); font-family: Arial;"> Dkk.</small>
              </td>
            </tr>
            <tr>
              <td colspan="4"
style="vertical-align: bottom; color: rgb(66, 87, 103); height: 35px;"></td>
              <td
style="text-align: right; vertical-align: bottom; height: 35px;"><small><span
style="color: rgb(66, 87, 103);">Samlet pris&nbsp; ialt:</span></small></td>
              <td
style="text-align: right; vertical-align: bottom; height: 35px;">
              <hr
style="width: 80%; margin-left: auto; margin-right: 0px; height: 1px;"><input
id="ialt0" name="ialt0" size="20"
style="width: 60px;" readonly="readonly"><small
style="color: rgb(66, 87, 103); font-family: Arial;">&nbsp;Dkk.</small>
              </td>
            </tr>
            <tr>
              <td style="height: 29px;"></td>
              <td style="height: 29px;">
              </td>
              <td style="height: 29px;"></td>
              <td colspan="2"
style="text-align: right; height: 29px;"><small><span
style="color: rgb(153, 0, 0);" color="" rgb(153=""
0="">
              <span style="color: rgb(153, 0, 0);"></span></span></small></td>
              <td style="text-align: right; height: 29px;"><small
style="font-family: Arial;"><span
style="color: rgb(51, 51, 51);"></span></small></td>
            </tr>
            <tr>
              <td
style="vertical-align: top; color: rgb(66, 87, 103); height: 57px;"><small>Evt.
besked:</small></td>
              <td colspan="4"
style="text-align: left; font-family: Arial; vertical-align: top; color: rgb(66, 87, 103); height: 57px;"><textarea
tabindex="16" name="besked"
style="width: 407px; height: 50px;" rows="5" cols="40"></textarea></td>
              <td
style="text-align: right; vertical-align: top; height: 57px;"><a
href="svar-besked.html">
              <input onclick="this.form.submit();"
value="Send" type="button"></a><input
name="clear" value="Slet alt" title="Slet alt"
type="reset"><br>
              <small><span
style="font-family: Arial; color: rgb(66, 87, 103);"><small><span
style="font-family: Arial;"></span></small></span></small></td>
            </tr>
            <tr>
              <td
style="vertical-align: middle; color: rgb(66, 87, 103); height: 20px;"><small>Navn:
              </small></td>
              <td colspan="3"
style="text-align: left; font-family: Arial; vertical-align: top; color: rgb(66, 87, 103); height: 20px;"><input
tabindex="17" name="navn" style="width: 407px;"></td>
              <td
style="text-align: right; vertical-align: middle; color: rgb(66, 87, 103); height: 20px;"><small>E-mail:
              </small></td>
              <td
style="text-align: right; vertical-align: middle; height: 20px;"><span
style="display: none;">Dette felt skal
ikke udfyldes: <input name="email" type="text">
              </span><input tabindex="20" name="epost"
style="width: 120px;"></td>
            </tr>
            <tr>
              <td
style="vertical-align: middle; color: rgb(66, 87, 103); height: 20px;"><small>Adresse:</small></td>
              <td style="height: 20px;" colspan="3"><input
tabindex="18" name="adresse" style="width: 407px;"></td>
              <td style="height: 20px;"></td>
              <td style="text-align: center; height: 20px;"><span
style="font-family: Arial; color: rgb(51, 51, 51);"><small><span
style="font-family: Arial;"></span></small></span><span
style="font-family: Arial; font-weight: bold; color: rgb(66, 87, 103);"><small><span
style="font-family: Arial;">Husk email eller tlf.</span></small></span></td>
            </tr>
            <tr>
              <td style="color: rgb(66, 87, 103); height: 12px;"><small>Post
nr. og by:</small></td>
              <td style="height: 12px;" colspan="3"><input
tabindex="19" name="by" style="width: 407px;"></td>
              <td
style="text-align: right; color: rgb(66, 87, 103); height: 12px;"><small>Telefon
nr.:</small></td>
              <td style="text-align: right; height: 12px;"><input
tabindex="21" name="tlf" style="width: 120px;"></td>
            </tr>
          </tbody>
        </table>
      </form>
      </td>
    </tr>
  </tbody>
</table>
</body>
</html>
Avatar billede ballegaarden Nybegynder
31. januar 2010 - 12:30 #7
Lige en ting mere !
Du beskriver at jeg skal sørge for at: tjekke om filen er kodet med tengsættet UTF-8 med BOM, og skifte dette til UTF-8 uden BOM.

Jeg laver php filen i Noteblok og gemmer filen som en ANSI, prøvede at gemme den i UFT-8 (ikke noget med BOM), så fik jeg en mail uden æ, ø og å.
Avatar billede Slettet bruger
31. januar 2010 - 13:52 #8
Nej, jeg laver ikke formularen for dig, men hjælper dig gerne.
Fortæller du, hvad du har problemer med og hvilke fejl du får, vil jeg med glæde hjælpe.

Du kan sagtens have filen kodet i et andet tegnsæt end UTF-8, hvis du bare sørger for at alt er kodet med samme tegnsæt. Ellers kommer æ, ø og å ikke til at virke.
Avatar billede ballegaarden Nybegynder
01. februar 2010 - 11:44 #9
Jeg er glad for at du gider at hjælpe, for jeg er helt på bar bund nu.
Jeg fatter ikke lige den der med spamfælde, for jeg har jo ikke noget spamfælt. Har prøvet at slætte den, men så sender den ikke.
Her er de linjer med fejl jeg får (markeret med fed):

<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "mail@ballegaarden.com";
$afsendermail = "kanikke@besvares.invalid";
$viderestil = "http://ballegaarden.com/svar-besked.html";

/* Her hentes oplysningerne fra de udfyldte felter */
$tlf = $_POST['tlf'];
$email = $_POST['email'];
$epost = $_POST['epost'];
$besked = $_POST['besked'];
$navn = $_POST['navn'];
$adresse = $_POST['adresse'];
$by = $_POST['by'];
$spamfaelde = $_POST['spamfaelde'];
$emne = $_POST['emne'];

$aktivitets_tappe = $_POST['aktivitets_tappe'];
$Antal4 = $_POST['Antal4'];
$Sum4 = $_POST['Sum4'];

$guf_taske = $_POST['guf_taske'];
$Antal5 = $_POST['Antal5'];
$Sum5 = $_REQUEST['Sum5'];

$bolde = $_POST['bolde'];
$Antal6 = $_POST['Antal6'];
$Sum6 = $_POST['Sum6'];

$underlag1 = $_POST['underlag1'];
$Antal7 = $_POST['Antal7'];
$Sum7 = $_POST['Sum7'];

$underlag2 = $_POST['underlag2'];
$Antal8 = $_POST['Antal8'];
$Sum8 = $_POST['Sum8'];

$underlag3 = $_POST['underlag3'];
$Antal9 = $_POST['Antal9'];
$Sum9 = $_POST['Sum9'];

$varmepude_u = $_POST['varmepude_u'];
$Antal10 = $_POST['Antal10'];
$Sum10 = $_POST['Sum10'];

$varmepude_m = $_POST['varmepude_m'];
$Antal11 = $_POST['Antal11'];
$Sum11 = $_POST['Sum11'];

$daekken = $_POST['daekken'];
$Antal12 = $_POST['Antal12'];
$Sum12 = $_POST['Sum12'];

$pude = $_POST['pude'];
$Antal13 = $_POST['Antal13'];
$Sum13 = $_POST['Sum13'];

$hundeskal_lille = $_POST['hundeskal_lille'];
$Antal14 = $_POST['Antal14'];
$Sum14 = $_POST['Sum14'];

$hundeskal_stor = $_POST['hundeskal_stor'];
$Antal15 = $_POST['Antal15'];
$Sum15 = $_POST['Sum15'];

$lightcap300 = $_POST['lightcap300'];
$smoke300 = $_POST['smoke300'];
$rod300 = $_POST['rod300'];
$Antal1 = $_POST['Antal1'];
$Sum1 = $_POST['Sum1'];

$lightcap200 = $_POST['lightcap200'];
$smoke200 = $_POST['smoke200'];
$klar200 = $_POST['klar200'];
$Antal2 = $_POST['Antal2'];
$Sum2 = $_POST['Sum2'];

$lightship = $_POST['lightship'];
$ls_bla = $_POST['ls_bla'];
$ls_rod = $_POST['ls_rod'];
$Antal3 = $_POST['Antal3'];
$Sum3 = $_POST['Sum3'];

$ialt0 = $_POST['ialt0'];

/* Her tjekkes, om det skjulte spamfælde-felt er udfyldt */
if ($email > '') {
  echo "Du er havnet i formularens spamfælde. Det burde ikke være muligt at havne her ved et uheld, så skam dig!";
  exit();
}

/* Her tjekkes, om der er forbudte tegn i felterne */
if (eregi("[\]",$navn) || eregi("[\]",$epost) || eregi("[\]",$emne) || eregi("[@]",$tlf)){
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt.";
  exit();
}

/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if ($epost > '') {
  $headers="From: $navn <$epost>\r\n";
}
else {
  $headers="From: Bestilformular <$afsendermail>\r\n";
}

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via bestilformularen på $hjemmeside:\r\n\r

\nAktivitets-tæppe: $aktivitets_tappe\r\nAktivitets-tæppe stk.: $Antal4\r\nAktivitets-tæppe kr.: $Sum4
\nGUF-taske: $guf_taske\r\nGUF-taske stk.: $Antal5\r\nGUF-taske kr.: $Sum5
\nBolde: $bolde\r\nBolde stk.: $Antal6\r\nBolde kr.: $Sum6
\nUnderlag1: $underlag1\r\nUnderlag1 stk.: $Antal7\r\nUnderlag1 kr.: $Sum7
\nUnderlag2: $underlag2\r\nUnderlag2 stk.: $Antal8\r\nUnderlag2 kr.: $Sum8
\nUnderlag3: $underlag3\r\nUnderlag3 stk.: $Antal9\r\nUnderlag3 kr.: $Sum9
\nVarmepude_u: $varmepude_u\r\nVarmepude_u stk.: $Antal10\r\nVarmepude_u kr.: $Sum10
\nVarmepude_m: $varmepude_m\r\nVarmepude_m stk.: $Antal11\r\nVarmepude_m kr.: $Sum11
\nDækken: $daekken\r\nDækken stk.: $Antal12\r\nDækken kr.: $Sum12
\nPude: $pude\r\nPude stk.: $Antal13\r\nPude kr.: $Sum13
\nHundeskål_lille: $hundeskal_lille\r\nHundeskål_lille stk.: $Antal14\r\nHundeskål_lille kr.: $Sum14
\nHundeskål_stor: $hundeskal_stor\r\nHundeskål_stor stk.: $Antal15\r\nHundeskål_stor kr.: $Sum15
\nLightCap300: $lightcap300\r\nSmoke: $smoke300\r\nRød: $rod300\r\nLightCap stk.: $Antal1\r\nLightCap kr.: $Sum1
\nLightCap200: $lightcap200\r\nSmoke: $smoke200\r\nKlar: $klar200\r\nLightCap stk.: $Antal2\r\nLightCap kr.: $Sum2
\nLightShip: $lightship\r\nBlå: $ls_bla\r\nRød: $ls_rod\r\nLightShip stk.: $Antal3\r\nLightShip kr.: $Sum3
\nSamlet pris: $ialt0
\nNavn:
$navn\r\nAdresse: $adresse\r\nBy: $by
\nE-mail: $epost\r\r\nTlf: $tlf
\nBesked: $besked";

{
  /* Her sendes mailen til modtageradressen */
  mail($mail, $emne, $oplysninger, $headers);
}

/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>
Avatar billede Slettet bruger
01. februar 2010 - 17:02 #10
$spamfaelde bruges ikke, og kan fjernes.
$emne tjekkes, men bruges ikke. Både defineringen og tjekningen skal fjernes (|| eregi("[\]",$emne))
Resten af de variablerne, hvor der opstår fejl bruges, men findes ikke i formularen. Både definering og brug skal derfor fjernes. F.eks. kan:

\nAktivitets-tæppe: $aktivitets_tappe\r\nAktivitets-tæppe stk.: $Antal4\r\nAktivitets-tæppe kr.: $Sum4
   
Forkortes til:

\nAktivitets-tæppe stk.: $Antal4\r\nAktivitets-tæppe kr.: $Sum4
Avatar billede ballegaarden Nybegynder
01. februar 2010 - 22:23 #11
Der er klumper i internet strømmen, så det tager så lang tid inden jeg får tilbagemelding når jeg sender en mail lige nu.

Jeg lavede de små tjek bokse om til bokse man skrev i, så nu virker de også.

Supert der bliver meget meget mindre fejl nu ...

Jeg kan ikke lige klare, jeg tror den sidste ...
"Den med emne" - for fjerne jeg dette kommer hele bestillingen til at stå i på den øverste linje over min mail i en kører efter hinanden.

Da jeg fjernede emne alle tre steder gik mailen igennem og jeg kom til svar siden, så det må være den sidste.
Avatar billede Slettet bruger
02. februar 2010 - 10:30 #12
Bare definer emnet selv:

$emne = 'Bestilling til Ballegaarden;
Avatar billede ballegaarden Nybegynder
02. februar 2010 - 11:56 #13
Kan du fortælle mig hvor jeg skal indsætte den linje, for nu har jeg prøvet at indsætte den flere steder og lige hvor jeg sætter den, meldes denne linje fejl.
Avatar billede Slettet bruger
02. februar 2010 - 19:01 #14
Ups, jeg glemte en apostrof. Sæt dette ind i stedet for den forrige linje som definerede $emne:

$emne = 'Bestilling til Ballegaarden';
Avatar billede ballegaarden Nybegynder
02. februar 2010 - 20:47 #15
Den med den manglende apostrof havde jeg luret, men nu virker det.

SUPERT ... mange tak
Jeg syntes lige jeg vil ligge en kopi af den der virker, til evt. senere brugere der kunne være interesseret:

<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "mail@ballegaarden.com";
$afsendermail = "kanikke@besvares.invalid";
$viderestil = "http://ballegaarden.com/svar-besked.html";

/* Her hentes oplysningerne fra de udfyldte felter */
$tlf = $_POST['tlf'];
$email = $_POST['email'];
$epost = $_POST['epost'];
$besked = $_POST['besked'];
$navn = $_POST['navn'];
$adresse = $_POST['adresse'];
$by = $_POST['by'];
$emne = 'Bestilling til Ballegaarden';

$Antal4 = $_POST['Antal4'];
$Sum4 = $_POST['Sum4'];

$Antal5 = $_POST['Antal5'];
$Sum5 = $_REQUEST['Sum5'];

$Antal6 = $_POST['Antal6'];
$Sum6 = $_POST['Sum6'];

$Antal7 = $_POST['Antal7'];
$Sum7 = $_POST['Sum7'];

$Antal8 = $_POST['Antal8'];
$Sum8 = $_POST['Sum8'];

$Antal9 = $_POST['Antal9'];
$Sum9 = $_POST['Sum9'];

$Antal10 = $_POST['Antal10'];
$Sum10 = $_POST['Sum10'];

$Antal11 = $_POST['Antal11'];
$Sum11 = $_POST['Sum11'];

$Antal12 = $_POST['Antal12'];
$Sum12 = $_POST['Sum12'];

$Antal13 = $_POST['Antal13'];
$Sum13 = $_POST['Sum13'];

$Antal14 = $_POST['Antal14'];
$Sum14 = $_POST['Sum14'];

$Antal15 = $_POST['Antal15'];
$Sum15 = $_POST['Sum15'];

$lc_300_smoke = $_POST['lc_300_smoke'];
$lc_300_rod = $_POST['lc_300_rod'];
$Antal1 = $_POST['Antal1'];
$Sum1 = $_POST['Sum1'];

$lc_200_smoke = $_POST['lc_200_smoke'];
$lc_200_klar = $_POST['lc_200_klar'];
$Antal2 = $_POST['Antal2'];
$Sum2 = $_POST['Sum2'];

$ls_bla = $_POST['ls_bla'];
$ls_rod = $_POST['ls_rod'];
$Antal3 = $_POST['Antal3'];
$Sum3 = $_POST['Sum3'];

$ialt0 = $_POST['ialt0'];

/* Her tjekkes, om der er forbudte tegn i felterne */
if (eregi("[\]",$navn) || eregi("[\]",$epost) || eregi("[\]",$emne) || eregi("[@]",$tlf)){
  echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt.";
  exit();
}

/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if ($epost > '') {
  $headers="From: $navn <$epost>\r\n";
}
else {
  $headers="From: Bestilformular <$afsendermail>\r\n";
}

$emne = "Bestilling til Ballegaarden";

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via bestilformularen på $hjemmeside:\r\n\r

\nAktivitets-tæppe stk.: $Antal4\r\nAktivitets-tæppe kr.: $Sum4
\nGUF-taske stk.: $Antal5\r\nGUF-taske kr.: $Sum5
\nBolde stk.: $Antal6\r\nBolde kr.: $Sum6
\nUnderlag1 stk.: $Antal7\r\nUnderlag1 kr.: $Sum7
\nUnderlag2 stk.: $Antal8\r\nUnderlag2 kr.: $Sum8
\nUnderlag3 stk.: $Antal9\r\nUnderlag3 kr.: $Sum9
\nVarmepude_u stk.: $Antal10\r\nVarmepude_u kr.: $Sum10
\nVarmepude_m stk.: $Antal11\r\nVarmepude_m kr.: $Sum11
\nDækken stk.: $Antal12\r\nDækken kr.: $Sum12
\nPude stk.: $Antal13\r\nPude kr.: $Sum13
\nHundeskål_lille stk.: $Antal14\r\nHundeskål_lille kr.: $Sum14
\nHundeskål_stor stk.: $Antal15\r\nHundeskål_stor kr.: $Sum15
\nSmoke: $lc_300_smoke\r\nRød: $lc_300_rod\r\nLightCap_300 stk.: $Antal1\r\nLightCap_300 kr.: $Sum1
\nSmoke: $lc_200_smoke\r\nKlar: $lc_200_klar\r\nLightCap_200 stk.: $Antal2\r\nLightCap_200 kr.: $Sum2
\nBlå: $ls_bla\r\nRød: $ls_rod\r\nLightShip stk.: $Antal3\r\nLightShip kr.: $Sum3
\nSamlet pris: $ialt0
\nNavn:
$navn\r\nAdresse: $adresse\r\nBy: $by
\nE-mail: $epost\r\r\nTlf: $tlf
\nBesked: $besked";

{
  /* Her sendes mailen til modtageradressen */
  mail($mail, $emne, $oplysninger, $headers);
}

/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>

Bruges på adressen: http://www.ballegaarden.com/kurv.html
Avatar billede ballegaarden Nybegynder
09. januar 2012 - 11:34 #16
.
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
Kurser inden for grundlæggende programmering

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