Avatar billede weblance Nybegynder
27. juni 2007 - 16:47 Der er 5 kommentarer og
1 løsning

Hjælp ønskes til at få mailformular til at virke igen

Jeg har i lang tid kørt på egen server med dette:

Formular:

<form action="send.php" method="post" name="formular" id="formular">
                                    <table width="260" border="0" cellspacing="0" cellpadding="0">
                                      <tr class="text">
                                        <td><div align="left" class="formular_text">Navn:</div></td>
                                        <td><div align="left"></div></td>
                                      </tr>
                                      <tr class="text">
                                        <td colspan="2"><div align="left">
                                            <input name="navn" type="text" class="textfelt" id="navn" size="48" />
                                        </div></td>
                                      </tr>
                                      <tr class="text">
                                        <td><div align="left" class="formular_text">Adresse:</div></td>
                                        <td><div align="left"></div></td>
                                      </tr>
                                      <tr class="text">
                                        <td colspan="2"><div align="left">
                                            <input name="adresse" type="text" class="textfelt" id="adresse" size="48" />
                                        </div></td>
                                      </tr>
                                      <tr class="text">
                                        <td class="style1"><div align="left" class="formular_text">Postnr.(uden landekode):</div></td>
                                        <td class="style1"><div align="left" class="formular_text">By:</div></td>
                                      </tr>
                                      <tr class="text">
                                        <td width="141"><div align="left">
                                            <input name="postnr" type="text" class="textfelt" id="postnr" />
                                        </div></td>
                                        <td><div align="left">
                                            <input name="by" type="text" class="textfelt" id="by2" />
                                        </div></td>
                                      </tr>
                                      <tr class="text">
                                        <td><div align="left" class="formular_text">Telefon (uden landekode):</div></td>
                                        <td><div align="left" class="formular_text">Email:</div></td>
                                      </tr>
                                      <tr class="text">
                                        <td width="141"><div align="left">
                                            <input name="telefon" type="text" class="textfelt" id="telefon" />
                                        </div></td>
                                        <td><div align="left">
                                            <input name="email" type="text" class="textfelt" id="email" />
                                        </div></td>
                                      </tr>
                                      <tr class="text">
                                        <td><div align="left" class="formular_text">Besked:</div></td>
                                        <td><div align="left"></div></td>
                                      </tr>
                                      <tr class="text">
                                        <td colspan="2"><div align="left">
                                            <textarea name="besked" cols="50" rows="4" class="textfelt" id="besked"></textarea>
                                        </div></td>
                                      </tr>
                                      <tr class="text">
                                        <td height="5" colspan="2"><img src="images/tom.gif" width="10" height="5" /></td>
                                      </tr>
                                      <tr class="text">
                                        <td colspan="2"><div align="center">
                                            <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                                              <tr>
                                                <td width="50%" height="22"><div align="center">
                                                    <input name="Submit" type="submit" class="knap" value="Send" />
                                                </div></td>
                                                <td width="50%"><div align="center">
                                                    <input name="Reset" type="reset" class="knap" value="Nulstil" />
                                                    <input type="hidden" name="retPage" value="<?=$_SERVER["PHP_SELF"]?>" />
                                                </div></td>
                                              </tr>
                                            </table>
                                        </div></td>
                                      </tr>
                                    </table>
                                    <p><a href="fortrolighedspolitik.php" class="alm_text">Fortrolighedspolitik</a></p>
                                  </form>
                              </div></td>
                            </tr>
                        </table></td>
                        <td width="318" align="center" valign="top"><table width="100%" height="84" border="0" cellpadding="0" cellspacing="0">
                           
                            <tr>
                              <td height="50"><img src="images/tom.gif" width="10" height="50" /></td>
                            </tr>
                            <tr>
                              <td height="18"><div align="center"><a href="fortrolighedspolitik.php" class="alm_text"></a>
                                      <?
if(isset($_GET['sent']) && $_GET['sent'] == "OK") {
echo "<div style='color:#4176be;font-weight:bold'>Din besked er nu sendt!</div>";
}
?>

Og filen send.php:

<?
@$navn = addslashes($_POST['navn']);
@$adresse = addslashes($_POST['adresse']);
@$postnr = addslashes($_POST['postnr']);
@$by = addslashes($_POST['by']);
@$telefon = addslashes($_POST['telefon']);
@$email = addslashes($_POST['email']);
@$web = addslashes($_POST['web']);
@$besked = addslashes($_POST['besked']);

if($postnr < 999) {
    $pn = "FO";
} elseif($postnr > 999) {
    $pn = "DK";
}

if($telefon < 999999) {
    $prefix = "(+298)";
} elseif($telefon > 11111111) {
    $prefix = "(+45)";
}

$pfw_header = "From: $email\n"
  . "Reply-To: $email\n" . "X-Priority: 1\n";
$pfw_subject = "Kontaktformular";
$pfw_email_to = "email@mitdomæne.dk";
$pfw_message = "Følgende er blevet udfyldt i kontaktformularen:\n"
. "\n"
. "Navn: $navn\n"
. "Adresse: $adresse\n"
. "Postnr: $postnr\n"
. "By: $by\n"
. "Telefon: $telefon\n"
. "Email: $email\n"
. "Hjemmeside: $web\n"
. "\n"
. "Besked:"
. "\n"
. "$besked\n";

@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;

// Returnér til forrige side
Header("Location: ".$_POST["retPage"]."?sent=OK");
?>
Avatar billede weblance Nybegynder
27. juni 2007 - 16:48 #1
Men nu er jeg flyttet over på en ekstern server og formularen virker ikke mere . . . ingen mail bliver sendt.

Så har jeg prøvet dette script jeg hentede fra nettet:

<?php
$to="webmaster@website.com";
if (!isset($_POST["send"])){
  // no post data -> display form
  ?>
  <form method="POST" action="<?=$_SERVER['PHP_SELF'];?>">
  To: webmaster@website.com
  From: <input type="text" name="sender">
  Subject : <input type="text" name="subject">
  Message :
  <textarea name="message" rows="10" cols="60" lines="20"></textarea>
  <input type="submit" name="send" value="Send">
  </form>
  <?
}else{
  // found post data .. deal with it
  $from=$_POST['sender'];
  // send mail :
  if (mail($to,$_POST['subject'],$_POST['message'],"From: $from\n")){
    // display confirmation message if mail sent successfully
    echo "Your mail was indeed sent to $to.";
}else{
  // sending failed, display error message
    echo "Doh! Your mail could not be sent.";
  }
}
?>

... og det virker. Hvordan kan jeg få den go'e gamle formular til at virke igen??
Avatar billede jakobdo Ekspert
27. juni 2007 - 21:20 #2
Hvad med denne lidt tilrettede kode:

<?
//http://www.eksperten.dk/spm/785250

$navn    = addslashes($_POST['navn']);
$adresse = addslashes($_POST['adresse']);
$postnr  = addslashes($_POST['postnr']);
$by      = addslashes($_POST['by']);
$telefon = addslashes($_POST['telefon']);
$email  = addslashes($_POST['email']);
$web    = addslashes($_POST['web']);
$besked  = addslashes($_POST['besked']);

if($postnr < 999)
{
    $pn = "FO";
}
elseif($postnr > 999)
{
  $pn = "DK";
}

if($telefon < 999999)
{
    $prefix = "(+298)";
}
elseif($telefon > 11111111)
{
    $prefix = "(+45)";
}

$pfw_header  = "From: $email\r\n";
$pfw_header  .= "Reply-To: $email\r\n";
$pfw_header  .= "X-Priority: 1\r\n";
$pfw_header  .= "X-Mailer: PHP/" . phpversion();

$pfw_subject  = "Kontaktformular";
$pfw_email_to = "email@mitdomæne.dk";
$pfw_message  = "Følgende er blevet udfyldt i kontaktformularen:\r\n";
$pfw_message .= "\r\n";
$pfw_message .= "Navn: $navn\r\n";
$pfw_message .= "Adresse: $adresse\r\n";
$pfw_message .= "Postnr: $postnr\r\n";
$pfw_message .= "By: $by\r\n";
$pfw_message .= "Telefon: $telefon\r\n";
$pfw_message .= "Email: $email\r\n";
$pfw_message .= "Hjemmeside: $web\r\n";
$pfw_message .= "\r\n";
$pfw_message .= "Besked:\r\n";
$pfw_message .= "$besked\r\n";

if(mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header))
{
    echo 'Email sendt ok';
}
else
{
    echo 'Email fejlede';
}

// Returnér til forrige side
//header("Location: ".$_POST["retPage"]."?sent=OK");
exit();
?>
Avatar billede weblance Nybegynder
27. juni 2007 - 21:29 #3
Yes sir! Det var lige det!

Send et svar, så får du point!
Avatar billede jakobdo Ekspert
27. juni 2007 - 21:45 #4
Svar!
Husk at ret de nedeste echo'er og fjern // ved header().

Jeg tror måske fejlen var \n, det har jeg rettet til \r\n
Avatar billede weblance Nybegynder
27. juni 2007 - 22:46 #5
Ok, tak endnu engang
Avatar billede jakobdo Ekspert
28. juni 2007 - 07:43 #6
Takker for point.
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