mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 11:58 Benutzername: Passwort: Auto-Login

Thema: Formailerfehler vom 21.08.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Formailerfehler
Autor Nachricht
gface
Threadersteller

Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.08.2009 14:08
Titel

Formailerfehler

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;</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>
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 21.08.2009 14:54
Titel

Antworten mit Zitat Zum Seitenanfang

error reporting aktivieren und anschließend die Fehlermeldung und die vollständigen Scripts posten.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
gface
Threadersteller

Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.08.2009 15:59
Titel

Antworten mit Zitat Zum Seitenanfang

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;
  }
}
?>
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 21.08.2009 16:26
Titel

Antworten mit Zitat Zum Seitenanfang

Ich habe mir das Script nicht genau angesehen, aber Fehlermeldungen zu unterdrücken
ist natürlich nicht besonders klug wenn man auf Fehlersuche ist *zwinker*

Zitat:
@mail()
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 21.08.2009 16:28
Titel

Antworten mit Zitat Zum Seitenanfang

Könnt ihr für diese Formmailer-Kiste nicht n Paypal Button einführen?
  View user's profile Private Nachricht senden
gface
Threadersteller

Dabei seit: 03.10.2003
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.08.2009 16:44
Titel

Antworten mit Zitat Zum Seitenanfang

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!
  View user's profile Private Nachricht senden
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 21.08.2009 23:49
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.