Avatar billede wolstrup Nybegynder
15. oktober 2004 - 19:48 Der er 9 kommentarer og
1 løsning

Formmail problem

Hvad gør jeg galt her? Vil sende brugeren videre til betaling.htm og får følgende fejl:

Warning: Cannot modify header information - headers already sent by (output started at /customers/danestate.dk/danestate.dk/httpd.www/webshop/varekurv.php:5) in /customers/danestate.dk/danestate.dk/httpd.www/webshop/varekurv.php on line 222

script:

<?
    $mail = $_POST["mail"];
    $headers = "From:" . $_POST["mail"];
    $besked = $_POST["besked"];
    $navn = $_POST["navn"];
    $tekstIndhold = $_POST["tekstIndhold"];
    $emne = $_POST["emne"];
    $til = "kontakt@danestate.dk";
    $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;

    if ($mail && $besked && $navn && $tekstIndhold) {
        if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
            header("Location: betaling.htm");
        }

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>
Avatar billede hardstyle_master Nybegynder
15. oktober 2004 - 19:51 #1
Du har header længere oppe, husk at kun have en
Avatar billede wolstrup Nybegynder
15. oktober 2004 - 19:56 #2
???

$headers er vel ikke det samme som header?
Avatar billede mnv_dk Praktikant
15. oktober 2004 - 19:57 #3
har du et linie skift foer <? eller mellemrum, inkluderer du filen paa en anden side, det kan vaere grunden til dette!
Avatar billede wolstrup Nybegynder
15. oktober 2004 - 20:00 #4
Kan det være fordi jeg arbejder med jave og cookies i på samme side?
Avatar billede morteeart Nybegynder
15. oktober 2004 - 20:06 #5
den dovne vil bruge

ob_start();

din kode her.

ob_end_flush();

men det er ikke en særlig god ide :P
det bedste er at sikre dig at du ikke har tekst, eller andre headers overover dit sidste header
Avatar billede wolstrup Nybegynder
15. oktober 2004 - 20:50 #6
Forstår det ikke, her er hele siden hvis nogen kan finde fejlen er jeg meget interesseret!

<html>

<head>
<TITLE>Firma.dk Webshop</TITLE>
<SCRIPT TYPE="text/javascript" SRC="scripts/startparametre.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="scripts/varekurv.js">
    </SCRIPT>
    <LINK REL="stylesheet" HREF="Redigering/scripts/styles.css" TYPE="text/css">
    <script language="JavaScript">
<!--
    function CheckForm () {
       
    //kontroller at navn er udfyldt
    if (document.mail.navn.value == ""){
        alert("Skriv venligst dit navn");
        document.mail.navn.select();
        document.mail.navn.focus();
        return false
    }

    //kontroller at email er udfyldt og indeholder @ og punktum
    if (document.mail.mail.value.indexOf('@') == '-1' ||
        document.mail.mail.value.indexOf('.') == '-1') {
        alert("Check venligst din e-mail adresse");
        document.mail.mail.select();
        document.mail.mail.focus();
        return false
    }
   
    //kontroller at emne er udfyldt
    if (document.mail.emne.value == ""){
        alert("Skriv venligst et emne");
        document.mail.emne.select();
        document.mail.emne.focus();
        return false
    }
   
    //kontroller at besked er udfyldt
    if (document.mail.besked.value == ""){
        alert("Skriv venligst en besked");
        document.mail.besked.select();
        document.mail.besked.focus();
        return false
    }   
        return true
}
//-->
<SCRIPT TYPE="text/javascript">

function fjernAlt() {
    if (confirm('Ønsker du at tømme indkøbskurven?')) {
        fjernAlleVare();
        window.location.href=window.location.href;
        }
    }

    </SCRIPT>

    </script>

</head>

<body background="billeder/baggrund.gif" link="#000000" vlink="#000000" alink="#000000">

<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="815" height="813">
    <tr>
      <td width="17" height="813" rowspan="8" background="billeder/baggrund%20v.gif">&nbsp;</td>
      <td width="748" height="46" colspan="2">
      <img border="0" src="billeder/title.jpg" width="780" height="109"></td>
      <td width="17" height="813" rowspan="8" background="billeder/baggrund%20h.gif">&nbsp;</td>
    </tr>
    <tr>
      <td width="748" height="35" colspan="2" background="billeder/topliste.gif">
      <p align="center"><font color="#FFFFFF"><b>
      <a href="index.htm"><font color="#FFFFFF" face="Symbol" size="2"><span style="text-decoration: none">·</span></font><font color="#FFFFFF" face="Verdana" size="1"><span style="text-decoration: none">
      Start</span></font></a><font face="Verdana" size="1">&nbsp;&nbsp; </font><font face="Verdana" size="2">&nbsp;</font><font face="Symbol" size="2">&nbsp;
      <a href="tilbud.htm">
    <font color="#FFFFFF"><span style="text-decoration: none">·</span></font></a></font><font face="Verdana" size="1"><a href="tilbud.htm"><font color="#FFFFFF"><span style="text-decoration: none"> Tilbud</span></font></a>&nbsp;&nbsp; </font>
      <font face="Verdana" size="2">&nbsp;</font><font face="Symbol" size="2">&nbsp;
      <a href="betingelser.htm">
    <font color="#FFFFFF"><span style="text-decoration: none">·</span></font></a></font><font face="Verdana" size="1"><a href="betingelser.htm"><font color="#FFFFFF"><span style="text-decoration: none"> Betingelser</span></font></a>&nbsp;&nbsp; </font>
      <font face="Verdana" size="2">&nbsp;</font><font face="Symbol" size="2">&nbsp;
      <a href="vilkar.htm">
    <font color="#FFFFFF"><span style="text-decoration: none">·</span></font></a></font><font face="Verdana" size="1"><a href="vilkar.htm"><font color="#FFFFFF"><span style="text-decoration: none"> Vilkår</span></font></a>&nbsp;&nbsp; </font>
      <font face="Verdana" size="2">&nbsp;</font><font face="Symbol" size="2">&nbsp;
      <a href="profil.htm">
    <font color="#FFFFFF"><span style="text-decoration: none">·</span></font></a></font><font face="Verdana" size="1"><a href="profil.htm"><font color="#FFFFFF"><span style="text-decoration: none"> Profil</span></font></a> </font>
      <font face="Verdana" size="2">&nbsp;&nbsp; </font>
      <font face="Symbol" size="2">&nbsp;
      <a href="kontakt">
    <font color="#FFFFFF"><span style="text-decoration: none">·</span></font></a></font><font face="Verdana" size="1"><span style="text-decoration: none"><a href="kontakt.php"><font color="#FFFFFF"><span style="text-decoration: none">
      Kontakt</span></font></a></span> </font></b></font></td>
    </tr>
    <tr>
      <td width="748" height="19" colspan="2" bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td width="148" height="20">
      <p align="center">
      <img border="0" src="billeder/menuprodukt.gif" width="180" height="31"></td>
      <td width="600" height="387" rowspan="2" bgcolor="#FFFFFF" align="center" valign="top">
      <p>
      &nbsp;
      <font face=verdana size=1>
      <SCRIPT TYPE="text/javascript">

if (vareIndhold) {
    if (window.print || 1==1) {
        document.write('<A HREF="java script:print()">Udskriv denne side</A><BR>');
        }
    document.write('<A HREF="java script:fjernAlt()">Tøm kurven</A>');
    }

      </SCRIPT>
      </font>
      </P>

<P>
<SCRIPT LANGUAGE="JavaScript">
visningTil = 'IMG:billeder/kurvind.gif,W:30,H:12,ALT:Forøg med én';
visningFra = 'IMG:billeder/kurvop.gif,W:30,H:12,ALT:Formindsk med én';
visningFjern = 'IMG:billeder/kurvfjern.gif,W:30,H:12,ALT:Fjern varelinie';
udskrivKurv(document,'main');
</SCRIPT>

      </td>
    </tr>
    <tr>
      <td width="148" height="356" background="billeder/menuv.gif" align="center" valign="top">&nbsp;
      <b><font face="Verdana" size="1" color="#000000">
      <SCRIPT TYPE="text/javascript" SRC="scripts/menu.js"></SCRIPT>
      </font></b>
      </td>
    </tr>
    <tr>
      <td width="148" height="14">
      <img border="0" src="billeder/menuindkob.gif" width="180" height="31"></td>
      <td width="600" height="31" bgcolor="#FFFFFF" align="center" valign="top">
      &nbsp;
      <?
    $mail = $_POST["mail"];
    $headers = "From:" . $_POST["mail"];
    $besked = $_POST["besked"];
    $navn = $_POST["navn"];
    $tekstIndhold = $_POST["tekstIndhold"];
    $emne = $_POST["emne"];
    $til = "kontakt@danestate.dk";
    $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;

    if ($mail && $besked && $navn && $tekstIndhold) {
        if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
            echo "Din bestilling er sendt, gå til menuen betaling";
        }

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>

      </td>
    </tr>
    <tr>
      <td width="148" height="371" background="billeder/menuv.gif" align="left" valign="top">
    <a href="file:///C:/Documents%20and%20Settings/privat/Skrivebord/Webshop/varekurv.php" style="text-decoration: underline; color: #000000">
    <img border="0" src="file:///C:/Documents%20and%20Settings/privat/Skrivebord/Webshop/billeder/kurv.jpg" width="45" height="49"></a><p align="center">&nbsp;</p>
    <p>&nbsp;</p>
    <p align="center">&nbsp;</p>
    <p align="center">&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p align="center">
    <img border="1" src="billeder/dankort.gif" width="35" height="22">
    <img border="1" src="billeder/visa.gif" width="35" height="22">
    <img border="1" src="billeder/ewire.gif" width="35" height="22"></td>
      <td width="600" height="371" bgcolor="#FFFFFF" align="center" valign="top">
      <p>&nbsp;
      <form name="mail" method="post" action="<? echo $PHP_SELF ?>" onSubmit="return CheckForm();" onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="250" border="0" cellpadding="0" cellspacing="2" class="tabel">
          <tr>
            <td align="center" valign="top">
            <p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="1">Navn:&nbsp;</font></p>
            <p style="margin: 0"><input name="navn" type="text" class="input" size="30"></td>
          </tr>
          <tr>
            <td height="18" align="center" valign="top">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
            <p style="margin-top: 0; margin-bottom: 0">
            <font face="Verdana" size="1">E-mail:&nbsp;</font></p>
            <p style="margin: 0"><input name="mail" type="text" class="input" size="30"></td>
          </tr>
          <tr>
            <td align="center" valign="top">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
            <p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="1">Emne:&nbsp;</font></p>
            <p style="margin: 0"><input name="emne" type="text" class="input" size="30"></td>
          </tr>
          <tr>
            <td align="center" valign="top">
            <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
            <p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="1">
            Besked:&nbsp;</font></p>
            <p style="margin: 0"><textarea name="besked" cols="29" rows="8" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td>
            <p align="center"> <input name="Submit" type="submit" class="button" value="Send">&nbsp;&nbsp; <input name="Submit2" type="reset" class="button" value="Reset"> </td>
          </tr>
        </table>
          <SCRIPT LANGUAGE="JavaScript">
vareTekst(document,"tekstIndhold");
var localPath = document.location.href;

localPath = localPath.substring( 0, localPath.lastIndexOf( '/'));
document.write('<INPUT TYPE="hidden" VALUE="' +localPath +'/formular/tak.htm" NAME="redirOk">');
document.write('<INPUT TYPE="hidden" VALUE="' +localPath +'/formular/fejl.htm" NAME="redirFejl">');
        </SCRIPT>
      </form>
      </td>
    </tr>
    <tr>
      <td width="748" height="45" colspan="2" background="billeder/bundliste.gif">
      <p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>
      <font size="1" face="Verdana" color="#C0C0C0">Copyright © 2004 Firma.dk</font></b></td>
    </tr>
  </table>
  </center>
</div>
<p align="center" style="margin-top: 5; margin-bottom: 0">&nbsp;</p>

</body>

</html>
Avatar billede morteeart Nybegynder
15. oktober 2004 - 20:59 #7
tjaa det er da meget tydeligt.

der står jo html koden oven over dit header..
bare flyt alt php kode op før html delen, så burde problemet være løst.
Avatar billede amews_aj Nybegynder
15. oktober 2004 - 21:15 #8
citat:
den dovne vil bruge

ob_start();

din kode her.

ob_end_flush();

men det er ikke en særlig god ide :P
det bedste er at sikre dig at du ikke har tekst, eller andre headers overover dit sidste header




Hvad mener du med det?
Avatar billede Slettet bruger
17. oktober 2004 - 20:50 #9
pc-help: Det er overflødigt arbejde at lave udskrift til browseren, hvis det alligevel ender med at browseren skal sendes et andet sted hen, før den overhovedet modtager udskriften. Det tyder altså på dårlig strukturering af koden. Man kan slippe af sted med at gøre det ved at bruge output buffering, men det er meget bedre at strukturere sin kode korrekt.
Avatar billede morteeart Nybegynder
26. november 2004 - 04:33 #10
lukketid ?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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