php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack (1) Themen-Optionen Thema bewerten
Alt 21.09.2008, 23:57  
Neuer Benutzer
 
Registriert seit: 21.09.2008
Beiträge: 3
Lordcyber befindet sich auf einem aufstrebenden Ast
Standard PJHP Script Mail Versand läuft nicht mehr

Hallo,
ich muß sagen das ich totaller PHP anfänger bin.
Ein Kollege hat mir vor absehbarer Zeit mal ein Script gemacht über das meine Kunden mir Mails senden konnte.
Leider hat mein Provider auf PHP 5 umgestellt.
Und das Script funktioniert jetzt garnicht mehr. Kommt nicht mal ein fehler.
Habe schon versucht die Unterschiede zu PHP4 raus zu finden aber komme absolut nicht weiter oder hinter den Fehler.
Währe klasse wen ihr mir da helfen könnt.
Danke
Code:
<?PHP


  
include("checkit.php");

$all_ok = TRUE;

function get_template($template)
    {
    return str_replace("\"","\\\"",implode("",file("".$template.".html")));
    }//Ende get_template
    
function print_template($template)
    {
    echo $template;
    }//Ende ausgabe_html_scnipsel

if (isset($send)) {
    
    //Eingabeprüfungen
    //Vorname
    if (!checkit::isAlpha($_POST[vorname])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte kontrolieren Sie das Feld Vorname</h3></font></div>';
    }
    //Nachname
    if (!checkit::filled($_POST[nachname])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie ihren Namen ein.</h3></font></div>';
    }
    if (!checkit::isAlpha($_POST[nachname])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte kontrolieren Sie das Feld Nachname</h3></font></div>';
    }
    //Staße
    if (!checkit::filled($_POST[strasse])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie die Stra&szlig;e und Hausnummer ein.</h3></font></div>';
    }
    //Postleitzahl
    if (!checkit::filled($_POST[postleitzahl])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie die Postleitzahl ein.</h3></font></div>';
    }
    if (!checkit::isNum($_POST[postleitzahl])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie bei der Postleitzahl nur Ziffern ein.</h3></font></div>';
    }
    //Ort
    if (!checkit::filled($_POST[ort])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie ihren Wohnort ein.</h3></font></div>';
    }
    if (!checkit::isAlpha($_POST[ort])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte kontrolieren Sie das Feld Ort</h3></font></div>';
    }
    //Telefon
    if (!checkit::isNum($_POST[telvorwahl])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie bei der Telefonnummer nur Ziffern ein.</h3></font></div>';
    }
    if (!checkit::isNum($_POST[teldurchwahl])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie bei der Telefonnummer nur Ziffern ein.</h3></font></div>';
    }
    //E-Mail 
    if (!checkit::isEmail($_POST[k_mail])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte kontrolieren Sie die E-Mail-Adresse.</h3></font></div>';
    }
    //Termin
    if (!checkit::isDat($_POST[termin])) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie den Wunschtermin in der Form tt.mm.jjjj an.</h3></font></div>';
    }
    if (($_POST[art] == "anmel") && ($_POST[agb] == FALSE)) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte akzeptieren Sie die Allgemienen Gesch&auml;ftsbedingungen.</h3></font></div>';
    }
    if ($_POST[art] == FALSE) {
        $all_ok=FALSE;
        $fehler .= '<div align = "center"><font color="red"><h3>Bitte geben Sie an ob Sie ein Information oder eine Anmeldung w&uuml;nschen.</h3></font></div>';
    }
    //Fehlerprüfung ende
    
    //Feldwerteaufbereitung für Refresch im Fehlerfall und Mailversand
    //Anrede
    $anrede = $_POST[anrede];
    if ($anrede == "Frau") $anr_f = "selected";
    if ($anrede == "Herr") $anr_h = "selected";
    //Vorname
    $vorname = strip_tags(trim($_POST[vorname]));
    //Namchname
    $nachname = strip_tags(trim($_POST[nachname]));
    //Straße und Hausnummer
    $strasse = strip_tags(trim($_POST[strasse]));
    //Postleitzahl und Ort
    $postleitzahl = $_POST[postleitzahl];
    $ort = strip_tags(trim($_POST[ort]));
    //Telefon
    $telvorwahl = $_POST[telvorwahl];
    $teldurchwahl = $_POST[teldurchwahl];
    //E-Mail
    $k_mail = $_POST[k_mail];
    //Art
    if ($_POST['art'] == 'anmel') {
        $art = "$anrede $vorname $nachname möchte sich für folgendes Seminar anmelden:";
        $anmel = "checked";
        $info = "";
    } elseif ($_POST['art'] == 'info') {
        $art = "$anrede $vorname $nachname möchte Informationen über folgendes Seminar:";
        $anmel = "";
        $info = "checked";
    }
    //Pferd
    if ($_POST['horse'] == 'ja') {
        $horse = "$anrede $vorname $nachname kommt mit eingenem Pferd.";
        $ja = "checked";
        $nein = "";
    } elseif ($_POST['horse'] == 'nein') {
        $horse = "$anrede $vorname $nachname kommt nicht mit eingenem Pferd.";
        $ja = "";
        $nein = "checked";
    } else {
        $horse = "";
    }
    //Seminar
    $seminar = $_POST[seminar];
    if ($seminar == "How to start") $an_1 = "selected";
    if ($seminar == "Step two") $an_2 = "selected";
    if ($seminar == "Business") $an_3 = "selected";
    if ($seminar == "Business Intensivseminar") $an_4 = "selected";
    if ($seminar == "Top Business Exclusiv Einzelcoaching") $an_5 = "selected";
    if ($seminar == "Natural Leading Basic Instructor") $an_6 = "selected";
    if ($seminar == "Natural Leading Coach") $an_7 = "selected";
    //Datum
    $termin = $_POST[termin];
    //Mitteilung
    $text = strip_tags(trim($_POST[text]));
}
    
    //Forrmular neu zeichnen
    if ((!isset($send)) || !$all_ok) {
        eval ("print_template(\"".get_template("anmeldung")."\");");
    }
    else {
        //Mails versenden
        //an Herr Frey
        $mail_to = "info@natural-leading.de";
        //$mail_to = "uwe@pallme-koenig.de";
        $header = "From:$vorname $nachname<$k_mail>\n";
        $a_betr = "Anmeldung/Infoanforderung von Homepage .......";
        $a_mess = "Hallo Herr.....,\n";
        $a_mess .= "\n";
        $a_mess .= "Sie erhalten folgende Nachricht von Ihrer Homepage:\n";
        $a_mess .= "\n";
        $a_mess .= "Kunde:\n";
        $a_mess .= "$anrede $vorname $nachname\n";
        $a_mess .= "$strasse\n";
        $a_mess .= "$postleitzahl $ort\n";
        $a_mess .= "Tel. {$telvorwahl}/{$teldurchwahl}\n";
        $a_mess .= "$k_mail\n";
        $a_mess .= "\n";
        $a_mess .= "$art\n";
        $a_mess .= "$seminar Wunschtermin: $termin\n";
        $a_mess .= "$horse\n";
        $a_mess .= "\n";
        $a_mess .= "Mitteilung:\n";
        $a_mess .= "$text\n";
        $a_mess .= "\n";
        $a_mess .= "MfG Webmaster";

        //Mail an Kunde
        $k_header="From:.....<$mail_to>";
        $k_betr="Ihre Anmeldung bei ......";
        $k_mess = "Sehr geehrte/r $anrede $vorname {$nachname},\n";
        $k_mess .= "\n";
        $k_mess .= "Wir haben folgende Anmeldung erhalten:\n";
        $k_mess .= "Mail Beginn:\n";
        $k_mess .= "$a_mess\n";
        $k_mess .= "Mail Ende:\n";
        $k_mess .= "\n";
        $k_mess .= "Das ist ein automatisches Mail und keine Bestätigung Ihrer Anmeldung.
                    Sie bekommen in Kürze eine Nachricht von uns.\n";
        $k_mess .= "\n";
        $k_mess .= "\n";
        $k_mess .= "Mit freundlichem Gruß\n";
        $k_mess .= "......\n";
        $k_mess .= "......\n";

         //versand//
        if ((@mail($mail_to,$a_betr,$a_mess,$header)) && (@mail($k_mail,$k_betr,$k_mess,$k_header))) {
            echo "<head><meta http-equiv=\"refresh\" content=\"3; URL=http://www........\"></head><body text=\"#9B009B\" bgcolor=\"#F8F8F8\"><br><br><br><p align=\"center\"><br><br>Ihre Mail wurde versendet, Sie erhalten umgehend eine Bestätigung per mail.<br><a href=\"http://www........\">Wenn die automatische Weiterleitung nicht funktioniert, hier klicken!</a></p></body>";
        }
        else
        {
            echo "<br><br><br><body text=\"#9B009B\" bgcolor=\"#F5F5F5 \"><p align=\"center\"><br><br>Es ist ein Fehler beim versenden aufgetreten, wenden Sie sich per E-Mail an <a href=\"mailto:$mail_to>........</a><br></p></body>";
        }
    }
Code:
<?php

class checkit {

  function filled($str) {
    return (strlen(trim($str)) > 0);
  }

  function check($str,$pattern,$mustfilled=false) {
    if (checkit::filled($str)) {
      $result = (preg_match($pattern,$str));
    } else {
      $result = (!($mustfilled));
    }
    return $result;
  }

  function isAlpha($str,$mustfilled=false) {
    return (checkit::check($str,"/^[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝÞß�*áâãäåæçèéêëì�*îïðñòóôõöøùúûüýþÿ\. ,-]+$/",
      $mustfilled));
  }

  function isNum($str,$mustfilled=false) {
    return (checkit::check($str,"/^\d+$/",$mustfilled));
  }

  function isAlphaNum($str,$mustfilled=false) {
    return (checkit::check($str,"/^[a-zA-Z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝÞß�*áâãäåæçèéêëì�*îïðñòóôõöøùúûüýþÿ\. ,-]+$/",
      $mustfilled));
  }

  function isNoHTML($str,$mustfilled=false) {
    return (checkit::check($str,"/^[^<>\"]+$/",$mustfilled));
  }

  function isurl($str,$mustfilled=false) {
    return (checkit::check($str,
                  '#^http://'.
                  '[-!\#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
                  '[-!\#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$#',
       $mustfilled));
  }

  function isSomeText($str,$mustfilled=false) {
    return (checkit::check($str,"/[a-zA-Z]+/",$mustfilled));
  }

  function isPhone($str,$mustfilled=false) {
    return (checkit::check($str,"/^[0-9\+][0-9\(\) -]+$/",$mustfilled));
  }

  function isEmail($str,$mustfilled=false) {
    return (checkit::check($str,
                 '#^[-!\#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
                 '@'.
                 '[-!\#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
                 '[-!\#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$#',
      $mustfilled));
  }
  function isDat($str,$mustfilled=false) {
    return (checkit::check($str,"/^[0-9]+\.[0-9]+\.[0-9]+$/",$mustfilled));
  }
}

?>

Geändert von Lordcyber (22.09.2008 um 00:07 Uhr). Grund: Buchstabendreher
Lordcyber ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.09.2008, 00:08  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

error_reporting(E_ALL | E_STRICT) an den Anfang deines Skriptes
Chriz ist offline  
Alt 22.09.2008, 00:17  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard Fehler zulassen

Hi

Der wahrscheinlich entscheidende Teil Deines Codes ist dort, wo

@mail...steht. Das @ vor dem mail sorgt dafür, dass keine Fehlermeldungen ausgegeben werden.

Vielleicht entfernst Du die mal vorübergehend und guckst, ob es dann eine brauchbare Fehlermeldung gibt.

Ansonsten kann ich im Moment keinen guten Tip geben.
drsoong ist offline  
Alt 22.09.2008, 00:29  
Neuer Benutzer
 
Registriert seit: 21.09.2008
Beiträge: 3
Lordcyber befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
habe beides gemacht leider ohne Erfolg.
Lordcyber ist offline  
Alt 22.09.2008, 16:22  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

$header = "From:$vorname $nachname<$k_mail>\n";

Als Absender der Mail wird hier eingesetzt, was der Kunde dir auf deinem Formular gepostet hat, z.B. Hans Meier und eine gmx-Adresse.

Die genaue Servereinstellung kenne ich nicht, aber meine Kiste akzeptiert bei mail() nur Absender mit einem Postfach auf dem Server, d.h. der Absender muss auf dem Server existieren. Versuch da mal die genannte Zeile so auszutauschen:

$header = "From:$mail_to\n";
Wolla ist offline  
Alt 23.09.2008, 08:00  
Neuer Benutzer
 
Registriert seit: 21.09.2008
Beiträge: 3
Lordcyber befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
das Email Konto existiert ja auf dem Server.
Auf dem Server läuft Confixx.
Lordcyber ist offline  
Alt 23.09.2008, 09:28  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard Provider fragen

Hi

Spricht irgend etwas dagegen, mal Deinen Provider zu fragen? Das Problem müßten dann doch einige haben, oder? Wer ist denn Dein Provider?

Gruss
drsoong ist offline  
Alt 23.09.2008, 10:08  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Überprüfe mal alle Variablen, bevor du die Mail abschickst.
Assoziative Arrays haben ausserdem Strings als Indizes, und diese gehören in Anführungszeichen. Ich nehme ja nicht an, dass du all diese Strings (strasse, postleitzahl, ort, usw) als Konstanten definiert hast.
__________________
Gruss
L
lazydog ist offline  
Alt 23.09.2008, 12:45  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Lordcyber Beitrag anzeigen
Hallo,
das Email Konto existiert ja auf dem Server.
Auf dem Server läuft Confixx.
Nein, das Emailkonto existiert nicht, wenn der Kunde als Absender irgend.was@gmx.net eingibt.
Wolla ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

LinkBacks (?)
LinkBack to this Thread: http://www.php.de/php-tipps-2008/47588-pjhp-script-mail-versand-laeuft-nicht-mehr.html
Erstellt von For Type Datum
Technorati: Discussion about “PJHP Script Mail Versand läuft nicht mehr” This thread Refback 22.09.2008 11:37

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Upload Script bleibt einfach stehen SniperWolf PHP Tipps 2008 4 19.09.2008 19:39
Registrierungs Script - Mail senden usw. geht nur teilweise! CHRIS PHP Tipps 2006 8 26.07.2006 13:49
mail script Cheesy92 PHP Tipps 2006 11 21.07.2006 15:16
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Fehler bei Script, welches Ordner erstellt PsychoEagle PHP Tipps 2005 3 23.04.2005 16:03
mail() Funktion - Liefert TRUE jedoch .... PHP Tipps 2005 21 23.02.2005 11:54
Mail versenden - Fehler 553 Anuschka PHP Tipps 2004-2 7 13.12.2004 19:54
mehrere Atachement mit HTML Mime mail class??? 18inch PHP Tipps 2004-2 1 28.11.2004 23:58
[Erledigt] python script mit php aufrufen... PHP-Fortgeschrittene 1 17.11.2004 17:11
mail() - mail header PHP-Fortgeschrittene 2 28.09.2004 15:35
PHP Script aus PHP aufrufen Stümper PHP Tipps 2004 5 26.09.2004 08:15
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
#^[a-z-*_|[]] $#si, php script mailversand, #^[a-z\\-\\*\\_\\|\\[\\]] $#si programmierung, $filled = $_post[filled];, php mail script funktioniert nicht, php mailversand script, mailversand php script, php script emailversand, programmierung - #^[a-z\\-\\*\\_\\|\\[\\]] $#si, #^[a-z\\-\\*\\_\\|\\[\\]] $#si prüf, php tutorial anrede sehr geehrte/r mit if else, confixx problem keine email versand mit php script, php script für mailversand, zeitgesteuerter mailversand, mailversand php datei script, php script mailversand mit anmeldung, php mail versenden aus skript funktioniert nicht, befehlsscript mailversand, #^[a-z-*_|[]] $#si quellcodeschubser php, mail() php läuft nicht bei meinem provider

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum