Script funktioniert nur lokal mit XAMPP

speicher

Erfahrenes Mitglied
Hallo,

ich habe das Kontaktformular von http://www.gaijin.at für meine Seite genommen und es erfolgreich lokal mit meinem XAMPP Server getestet.
Sobald ich es aber zu meinem Webserver lade erfolgt keine Prüfung mehr der Inhalte, bzw. es werden keine Fehler angezeigt, wenn man die Pflichtfelder nicht ausfüllt.
Woran könnte dies liegen?

Hier noch einmal den Code
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Kontaktformular -- www.gaijin.at</title>

<meta name="title" content="Kontaktformular -- www.gaijin.at">
<meta name="description" content="Kontaktformular von www.gaijin.at">
<meta name="keywords" content="Kontakt, Kontaktformular">
<meta name="author" content="Gaijin">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>

<h1>Kontakt</h1><br>

<?php

// *** Deine Mailadresse (Empfänger) ***
$mail_to="deine@mailadresse.com";
// *************************************

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="")
  $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
  if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
  $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
  echo "<p><big><b>Fehler:</b></big><br>";
  echo "$err_text</p>";
}

if(($send!="1") || (isset($err_text)))
{
?>

<form action="contact.php" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right>Dein Name:</td><td>&nbsp;</td>
<td width=100%><input type="text" name="from_name" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>
<tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>
<td width=100%><input type="text" name="from_mail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td><td></td>
<td width=100%><input type="text" name="mail_subject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
<td width=100%><textarea cols="40" rows="10" name="mail_text"><?php echo $mail_text; ?></textarea></td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="send">
<input type="submit" value="Nachricht versenden" name="submit">
</td></tr>
</table>
</form>

<?php
} else {
  $header="From: $from_name <$from_mail>\n";
  $header.="Reply-To: $from_mail\n";
  $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";
  $header.="Content-Type: text/plain";
  $mail_date=gmdate("D, d M Y H:i:s")." GMT";
  $send=0;
  if(@mail($mail_to,$mail_subject,$mail_text,$header))
  {
    echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    echo "<p><a href=\"contact.php?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
  }else{
    echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    echo "<p><a href=\"contact.php?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
  }
}
?>

<p><a href="http://www.gaijin.at/">Copyright &copy; 2003 www.gaijin.at</a></p>

</body>
</html>
 
Wenn ich nach "sendmail" suche finde ich folgende 2 Einträge


sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
 
Ändere mal alle Variablen, die von dem Formular kommen um. Z.B.: $from_name zu $_POST['from_name']. Vielleicht liegt es daran, vielleicht aber auch nicht. :D
 
Wie kann ich denn evtl Überprüfen ob sendmail richtig funktioniert


P.S. register_global ist off, aber durch $_POST['variable'] funktioniert es trotzdem noch nicht.
 
Zuletzt bearbeitet:
Was für ein Betriebssystem hast du denn?
Wie es bei den einzelnen Funktioniert sthet in den Links, die ich schon gepostet habe
 
Es ist ein Unix-System. Ich denke, dass der Pfad zu sendmail korrekt ist, aber was leider noch nicht angezeigt wird mit phpinfo() ist der sendmail_from. Ist das unbedingt nötig?
Gib es eine Möglichkeit die Fehlermeldung vom Script anzeigen zu lassen oder erzeugt es keine, wenn die sendmail-Konfiguration nicht richtig ist

Dank für die Antworten
 

Neue Beiträge

Zurück