Avatar billede sijmonj Nybegynder
18. juli 2007 - 16:16 Der er 8 kommentarer og
1 løsning

PHP Mail sender fejl

Hej jeg har fundet en PHP Mail sender men får den her fejl:
"Warning: Cannot modify header information - headers already sent by (output started at minside/pages/kontakt/kontakt.php:2) in minside/pages/kontakt/kontakt.php on line 62"
når jeg skriver at sende en mail.. her er mit script:

------------kontakt.php------------

<?
$emailto = 'MINMAILHER!';
$fejl = array();

if ($_SERVER["REQUEST_METHOD"]=='POST') {


    $ip = $_SERVER['REMOTE_ADDR'];
    $user_agent = $_SERVER["HTTP_USER_AGENT"];
    $name = @$_POST['name'];
    $email = @$_POST['email'];
    $subject = @$_POST['subject'];
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: $name <$email>";
    $text = @$_POST['text'];
    $message = "
    <html>
    <head>
    </head>
    <body>
    <table>
    <tr>
    <td>Navn:</td><td>$name</td>
    </tr>
    <tr>
    <td>Mail:</td><td>$email</td>
    </tr>
    <tr>
    <td>Emne:</td><td>$subject</td>
    </tr>
    <tr>
    <td>Text:</td><td>$text</td>
    </tr>
    <tr>
    <td>User IP:</td><td>$ip</td>
    </tr>
    <tr>
    <td>User Agent:</td><td>$user_agent</td>
    </tr>
    </table>
    </body>
    </html>";



    if (!$name)
$fejl[] = "Du glemte at udfylde dit navn.";
    if (!$email)
$fejl[] = "Du glemte at udfylde din mail adresse";
    if (!$subject)
$fejl[] = "Du glemte at udfylde emne.";
    if (!$text)
$fejl[] = "Du glemte at skrive en besked.";


    if (count($fejl)==0) {
   
$sendt = "Ja";
mail($emailto, $subject, $message, $headers);
header('Location: sendt.php');
exit;
  }
}
if ($sendt == "Ja") {
} else {
}


if (count($fejl)>0) {
  // Der er fejl
  echo '<p class="error">';
  echo join('<br />', $fejl);
  echo '</p>';
    }
?>
<link href="css.css" rel="stylesheet" type="text/css" />
<form action="kontakt.php" method="post" name="Sendmail" id="Sendmail">
    <table cellspacing="0" cellpadding="0" border="0" width="100%">
    <tr>
    <td height="5" colspan="2"></td>
    </tr>
    <tr>
    <td>Navn:<br />
      <input type="text" style="height:20px;color: #666666; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" class="text" name="name" id="name" size="30"></td>
    </tr>
    <tr>
    <td>Email:<br />
      <input type="text" style="height:20px;color: #666666; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" class="text" name="email" id="email" size="30"></td>
    </tr>
    <tr>
    <td>Emne:<br />
      <input type="text" style="height:20px;color: #666666; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" class="text" name="subject" id="subject" size="30"></td>
    </tr>
    <tr>
    <td height="132">Besked:<br />
      <textarea name="text" style="height:100px; width:280px; color: #666666; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" class="textarea" id="text"></textarea></td>
    </tr>
    <tr> 
    <td height="33">
    <input style=" margin-top:2px; color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" type="submit" class="submit" name="Submit" value="Send mail" />
      &nbsp;
      <input style=" margin-top:2px; color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" type="reset" class="submit" name="Reset" value="Slet alt" /></td>
    <td height="33" align="left" valign="top">&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    </table>
</form>
</p>
--------------end------------------

-----------sendt.php-----------
<link href="css.css" rel="stylesheet" type="text/css" />

<font color="#339933">Mailen er nu sendt</font>
-----------end-------------------------
Avatar billede leif Seniormester
18. juli 2007 - 16:22 #1
Før en header('Location: sendt.php'); må du ikke have udskrevet noget til siden
Avatar billede sijmonj Nybegynder
18. juli 2007 - 16:25 #2
Er lidt ny til PHP .. så skal jeg bare slette den heder ? eller flytte den lidt højere op ?
Avatar billede sijmonj Nybegynder
18. juli 2007 - 16:36 #3
header*
Avatar billede sijmonj Nybegynder
18. juli 2007 - 20:10 #4
ingen der kan hjælpe ?
Avatar billede leif Seniormester
18. juli 2007 - 20:14 #5
Nu sidder der ingen 24 timer i døgnet for at hjælpe kun dig ! Så hvis du har lidt tålmodighed så kommer der sikkert en løsning !


Om du skal slette "header('Location: sendt.php');" er jo anpå om du vil have brugeren ser sendt.php efter de har sendt dig en mail
Avatar billede leif Seniormester
18. juli 2007 - 20:16 #6
Har du Blanke linier op over "<?" ? Hvis Ja, så start med at fjern dem
Avatar billede leif Seniormester
18. juli 2007 - 20:19 #7
Har lige testet scriptet hos mig og der er ingen fejl i så det kunne tyde på du har en blank linie eller et mellemrum foran <?
Avatar billede leif Seniormester
18. juli 2007 - 20:24 #8
Men jeg ville nok skifte:
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: $name <$email>";

ud med:

    $headers  = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
    $headers .= "From: $name <$email>\n";
Avatar billede sijmonj Nybegynder
18. oktober 2007 - 19:43 #9
Lukket
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