Autor |
Nachricht |
gface
Threadersteller
Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Fr 21.08.2009 13:08
Titel Formailerfehler |
|
|
Hallo zusammen,
ich hab ein kleines Problem mit einem Formailer, welchen ich mir zusammen geschnipselt hab.
Das Problem ist, es wird keine Mail versendet und ich bekommen keine Fehlermeldung vom Server.
Vielleicht wäre jemand so lieb und könnte mir unter die Arme greifen.
Code: |
<?php
$mail_to = 'info@xy.com'; // Ihre Mailadresse (Empfängeradresse)
$from_name=GetParam('fromname');
$from_mail=strtolower(GetParam('frommail'));
$mail_subject=GetParam('mailsubject');
$mail_text=GetParam('mailtext');
$send=GetParam('s');
?>
</head>
<body>
<div id="warp">
<div id="navi"> ...
|
</div>
<div id="kontakterr">
<?php
$err_text='';
if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
if(trim($from_mail)=='') $err_text.='Bitte geben Sie Ihre 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 geben Sie eine gültige E-Mail-Adresse an.<br>';
if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
if(trim($mail_text)=='') $err_text.='Bitte geben Sie 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><b>Fehler:</b><br>';
echo $err_text.'</p>';
}
if(($send!='1') || (isset($err_text))) {}
else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-ContactForm-Script\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate('D, d M Y H:i:s').' +0000';
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
if ($Method == 'P') {
if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
} else if ($Method == 'G') {
if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
} else if ($Method == 'S') {
if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
}
}
?>
</div>
<div id="kontaktform">
<form action="<?=GetParam('PHP_SELF','S')?>" method="post">
<table border=0 cellspacing=2 cellpadding=0>
<tr>
<td nowrap align=right>Ihr Name:</td>
<td> </td>
<td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td>
</tr>
<tr>
<td nowrap align=right>Ihre E-Mail-Adresse:</td>
<td></td>
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td>
</tr>
<tr>
<td nowrap align=right>Betreff:</td>
<td></td>
<td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$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="mailtext"><?=$mail_text?></textarea></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="hidden" value="1" name="s">
<input type="submit" value="Nachricht versenden" name="submit">
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
<div id="ut"><img src="img/ut.jpg"/></div>
</body>
</html>
|
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 21.08.2009 13:54
Titel
|
|
|
error reporting aktivieren und anschließend die Fehlermeldung und die vollständigen Scripts posten.
|
|
|
|
|
Anzeige
|
|
|
gface
Threadersteller
Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Fr 21.08.2009 14:59
Titel
|
|
|
Das ist ja das lustige der Report ist aktive und ich bekomme keine Fehlermeldung.
Aber hier nochmal das vollständige Script
Code: |
<?php
$mail_to = 'info@xy.com'; // Ihre Mailadresse (Empfängeradresse)
$from_name=GetParam('fromname');
$from_mail=strtolower(GetParam('frommail'));
$mail_subject=GetParam('mailsubject');
$mail_text=GetParam('mailtext');
$send=GetParam('s');
?>
<?php
$err_text='';
if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
if(trim($from_mail)=='') $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
if(trim($mail_text)=='') $err_text.='Bitte geben Sie 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><b>Fehler:</b><br>';
echo $err_text.'</p>';
}
if(($send!='1') || (isset($err_text))) {}
else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-ContactForm-Script\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate('D, d M Y H:i:s').' +0000';
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
if ($Method == 'P') {
if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
} else if ($Method == 'G') {
if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
} else if ($Method == 'S') {
if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
}
}
?>
|
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 21.08.2009 15:26
Titel
|
|
|
Ich habe mir das Script nicht genau angesehen, aber Fehlermeldungen zu unterdrücken
ist natürlich nicht besonders klug wenn man auf Fehlersuche ist
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 21.08.2009 15:28
Titel
|
|
|
Könnt ihr für diese Formmailer-Kiste nicht n Paypal Button einführen?
|
|
|
|
|
gface
Threadersteller
Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Fr 21.08.2009 15:44
Titel
|
|
|
bacon hat geschrieben: | Könnt ihr für diese Formmailer-Kiste nicht n Paypal Button einführen? |
Doch Doch sehr Konstruktiv! Hilf lieber dann bin ich auch schneller weg!
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 21.08.2009 22:49
Titel
|
|
|
Erstmal hat m nicht Unrecht.
Zweitens, wie übergibst du denn die Variablen aus dem Formular an das PHP Script? Ich denke mal, es handelt sich um globale Variablen, die wohl auf dem Server zurecht deaktiviert sind.
|
|
|
|
|
|
|
|