SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.03.2010, 13:27:47
andreasa andreasa ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
Mailscript funktioniert, aber sendet trotz Fehler

Hallo Zusammen,

ich hab mir einen Webmailer nachgebaut und erweitert, welcher zwar genau tut, was er soll, doch wenn ein Fehler auftritt sendet er trotzdem.
So kontrolliert dieses Script, ob Name, Vorname, E-Mail-Adresse und Kommentar eingegeben wurden. Ist dies nicht der Fall, so blockt es die Mail.
Wurde ein "hidden" Kontrollfeld ausgefüllt, so ist es Spam und wird geblockt.
Dies funktioniert so weit.

Wurde eine E-Mailadresse eingegeben, welche ohne @ oder . ist, so meckert es zwar, doch die E-Mail landet trotzdem in meinem Postfach.

Kann mir bitte jemand sagen, wie ich den umbauen muss, dass er dann nicht sendet, wenn die eingegebene Absender-E-Mailadresse nicht die benannten beiden Zeichen enthält.

Schon mal vielen Dank für Eure Hilfe

Liebe Grüße

andreas
PHP-Code:
<?php
$empfaenger
="xxx@xxxxxde";
$betreff="Webmailformular";
$botschaft="Folgendes wurde angegeben:\n\n";
/* Schleife liest Attribut-Werte-Paare aus: */
foreach($_POST as $name=> $value) {
      
/* Alle Daten werden in $botschaft gespeichert: */
      
$botschaft.="$name=$value\n";
}


/* Versenden! Bitte Mail-Feld im Formular vorsehen! */
if (isset($_POST["Mail"]) && $_POST["Mail"]!="" && $_POST["Kommentar"]!=""
// Mail-Feld gesetzt und nicht leer? und Kommentar nicht leer?
/* Dann wird Versenden-Funktion mail() aktiv */
/*Wenn das Ned-Feld Daten enthaelt ist es Spam und wird nicht verschickt*/
    
if (empty($_POST['Ned']))
    {

        
$affe="@";
        
$punkt=".";
        
$absender=$_POST["Mail"];
          
/*Kontrolle ob die E-MailAdresse ein @ und winwn . hat*/
              
$ist_affe strpos($absender$affe);
              
$ist_punkt strpos($absender$punkt);
        if((
$ist_affe === false) or ($ist_punkt === false)) {
              echo 
"<h1>Bitte pruefen Sie ihre E-Mail Adresse</h1>";
              echo 
"<p><a href='javascript:history.back()'>Zurueck</a></p>";
        }
        else {
                
$mailgut=1;
        }
        if((
mail($empfaenger$betreff$botschaft"From: $absender")) && ($mailgut==1))
        {
              
/* War mail() erfolgreich, dann: */
              
echo "<h1>Danke f&uuml;r die Nachricht!</h1>\n";
              echo 
"<p>Die Daten wurden weitergeleitet!</p>\n";
        }
        
/* Sonst gibt es eine Fehlermeldung: */
     
}
        else { 
              echo 
"<h1>Leider konnten Ihre eingegebenen Daten nicht versandt werden.</h1>\n";
        }
}
/* else-Zweig äußere if bei nicht gesetzter Variable $Mail: */
else {
              echo 
"<h1>Bitte geben Sie Ihre E-Mail-Adresse  und/oder einen Kommentar an!</h1>\n<a href='javascript:history.back()'>zur&uuml;ck</a>";
}
?>
a
Mit Zitat antworten
  #2  
Alt 01.03.2010, 14:00:09
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mailscript funktioniert, aber sendet trotz Fehler

PHP-Code:
<?php
...
        else {
                if(
mail($empfaenger$betreff$botschaft"From: $absender"))
               {
                     
/* War mail() erfolgreich, dann: */
                     
echo "<h1>Danke f&uuml;r die Nachricht!</h1>\n";
                     echo 
"<p>Die Daten wurden weitergeleitet!</p>\n";
               }
        }


?>
Lasse $mailgut weg oder ändere die Reihenfolge im if.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 01.03.2010, 15:18:41
andreasa andreasa ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
AW: Mailscript funktioniert, aber sendet trotz Fehler

Hallo vt1816,

danke für Deine schnelle Antwort.

Zitat:
Zitat von vt1816 Beitrag anzeigen
...
Lasse $mailgut weg oder ändere die Reihenfolge im if.
Ja, genau dies war meine Einfügung, die mich nun foppt.

Nun muss ich zum besseren Verständnis leider etwas ausholen.
Das Mailformular dient auf einer Vereinshomepage für die E-Mailkontakte zu den Vereinsvorständen. Richtige E-Mail-Adressen soll ich wg. Spam und Belästigungen der Konturenz vor Ort nicht angeben.
Das $mailgut wollte ich einfügen, da es vor einer Woche passierte, dass eine Mail ankam, mit einer Beitritts-Anfrage. In dieser Mail war zwar eine Mailadresse angegeben, doch die hatte das Format: Anfrage wegen meines 8 jährigen Sohnes. Den Namen des Interessenten gib es aber in den Telefonbüchern nicht.
Also soll ich, der, der die Homepage zu pflegen hat, eine Kontrolle einbauen, dass nurnoch mit gültiger E-Mailadresse oder evtl. mit Telefonnummer gesendet werden kann.

Nun suchte ich schon Verschiedenes zusammen, doch was ich fand und zusammenbrachte war alles mit Javascript. Das Ganze soll aber ohne Javascript auskommen, wg. der Scpritblocker, welche in dieser Gegend modern zu sein scheinen... (Nach Aussage der meisten Vereinsmitglieder)

(Also bleibt mur nur sowas wie PHP, da das ja den Scriptblocker gar nicht interessiert.)

In PHP fand ich aber noch kein vollständiges Beispiel für eine Kontrolle, ob eine E-Mailadresse gültig aufgebaut ist oder nicht. Also nach dem Schema: Zeichen@zeichen.zeichen.
Nun bastelte ich mir etwas, womit ich wenigstens sehen kann, ob @ und . in der Adresse drin sind, oder nicht.
Aber wie und wo bringe ich das in dem Script nun unter?

Tut mir leid, dass ich nun so viel Text ablassen musste, doch hoffe ich, dass ich alle evtnuellen Unklarheiten dazu geklärt habe.

Nochmal danke für Deine Antwort, wo soll ich denn besser den Teil mit dem $mailgut einfügen, damit das alles andere stoppt, oder bei Erfolg die Mail gesendet wird.

Viele Grüße
aus dem sonnigen Geretsried

andreasa
Mit Zitat antworten
  #4  
Alt 01.03.2010, 16:24:53
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mailscript funktioniert, aber sendet trotz Fehler

Hast Du mal den von mir geposteten Code(-Schnippsel - bzgl. lass $mailgut weg) in Deinem Script entsprechend angepasst?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 01.03.2010, 20:52:51
andreasa andreasa ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
AW: Mailscript funktioniert, aber sendet trotz Fehler

Zitat:
Zitat von vt1816 Beitrag anzeigen
Hast Du mal den von mir geposteten Code(-Schnippsel - bzgl. lass $mailgut weg) in Deinem Script entsprechend angepasst?
Ja, hab ich, ging nicht.
Erst als ich aus

PHP-Code:
   else {
                if(
mail($empfaenger$betreff$botschaft"From: $absender"))
               { 
PHP-Code:
else if(mail($empfaenger$betreff$botschaft"From: $absender"))
                  { 
machte, dann ging es durch.

Vielen Dank für den Tipp.
Ich probier noch ein wenig, vielleicht kriege ich das Script noch dazu, dass es mir auch kontrolliet, ob nach dem letzten Punkt noch ein Zeichen kommt, denn das ist ihm momentan wurst.

Wenn ich da mit was nicht klarkommen sollte, soll ich das dann hier, in diesem Thread posten, oder einen neuen aufmachen?

Viele Grüße

andreasa
Mit Zitat antworten
  #6  
Alt 02.03.2010, 06:50:21
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mailscript funktioniert, aber sendet trotz Fehler

Zitat:
Zitat von andreasa Beitrag anzeigen
[...]
Wenn ich da mit was nicht klarkommen sollte, soll ich das dann hier, in diesem Thread posten, oder einen neuen aufmachen?
Neue Frage - neues Thema.

Schau Dir aber mal zum Beispiel explode() an.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 08.03.2010, 10:47:59
festus festus ist offline
Anfänger
 
Registriert seit: Dec 2008
Alter: 57
Beiträge: 22
AW: Mailscript funktioniert, aber sendet trotz Fehler

Auf je0.de gefunden:

PHP-Code:
<?PHP
if($aktion=="Check") {
$muster='^[-a-z0-9!#$%&\'*+/=?^_<{|}~]+(\.[-a-zA-Z0-9!#$%&\'*+/=?^_<{|}~]+)*@([a-z0-9-]{3,})(\.[a-z0-9-]{2,})+$';
if(
eregi($muster$adresse))
echo 
"Adresse ist gültig.";
else
echo 
"Adresse ist ungültig.";
}
?>
<form action="seite.php" method="post"><br>
<input name="adresse" value="<?=$adresse?>">
<input type="submit" name="aktion" value="Check">
</form>
Mit Zitat antworten
  #8  
Alt 10.03.2010, 18:01:09
andreasa andreasa ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
AW: Mailscript funktioniert, aber sendet trotz Fehler

Hallo Festus,

danke für Deinen Tip.
Es war nun ein Volltreffer.

Jetzt tut das Formular Alles, was ich brauche.
Es kontrolliert ob alle Felder ausgefüllt sind, ob die E-Mailadresse stimmen kann (möglich ist).
Etwas weiter oben meinte ich schon, dass es funzt, doch da waren noch einige Fehler.
Jetzt geht es fehlerlos durch.

Für die, die es interessiert, so sieht es jetzt aus:
PHP-Code:
$empfaenger="xx@xxx.de";
$betreff="Mailformular";
$botschaft="Folgendes wurde angegeben:\n\n";
foreach(
$_POST as $name=> $value) {
  
$botschaft.="$name=$value\n";
}
if (isset(
$_POST["Mail"]) && $_POST["Mail"]!="" && $_POST["Name"]!="" && $_POST["Vorname"]!="" && $_POST["Kommentar"]!=""

                   
$madresse=$_POST["Mail"]; $muster='^[-a-z0-9!#$%&\'*+/=?^_<{|}~]+(\.[-a-zA-Z0-9!#$%&\'*+/=?^_<{|}~]+)*@([a-z0-9-]{3,})(\.[a-z0-9-]{2,})+$'
                    if(
eregi($muster$madresse)) 
    if (empty(
$_POST['Ned'])) {
        
$absender=$_POST["Mail"];
        if(
mail($empfaenger$betreff$botschaft"From: $absender")) 
        {
              echo 
"<h1>Danke f&uuml;r die E-Mail!</h1>\n";
              echo 
"<p>Die Daten wurden weitergeleitet!</p>\n";
        }
      }
     else { 
              echo 
"<h1>Leider konnten Ihre eingegebenen Daten nicht versandt werden.</h1><p>Bitten gehen Sie <a href='javascript:history.back()'>zur&uuml;ck</a> und versuchen es erneut</p>\n";
     }

                    else 
                    echo 
"Diese E-Mail Adresse kann nicht stimmen. Bitte korrigieren.<br><a href='javascript:history.back()'>Zur&uuml;ck</a>"

else {
              echo 
"<h1>Bitte alle Felder ausf&uuml;llen!</h1><p><a href='javascript:history.back()'>Zur&uuml;ck</a></p>\n";

Vielleicht kann es ja der Eine oder Andere brauchen.

Nochmals Danke

bis zum nächsten Mal

andreasa
Mit Zitat antworten
  #9  
Alt 10.03.2010, 18:25:04
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Mailscript funktioniert, aber sendet trotz Fehler

Zitat:
Zitat von andreasa Beitrag anzeigen
Vielleicht kann es ja der Eine oder Andere brauchen.
möchte dir nicht zu nahe treten, aber: danke, lass man gut sein. das skript ist nicht nur anfällig gegen angriffe, sondern offen wie ein scheunentor.

hier mal was zum einlesen: Spam-Gefahr durch Kontaktformulare

es wurde ja schon zig male (in anderen threads) gesagt: nutze eine mail-klasse wie swiftmailer. ich bau' ja auch gern alles selbst, aber mail-versand muss echt nicht sein .-

cx
Mit Zitat antworten
  #10  
Alt 11.03.2010, 15:05:44
andreasa andreasa ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 58
Beiträge: 5
AW: Mailscript funktioniert, aber sendet trotz Fehler

Hallo Cortex,

Zitat:
Zitat von cortex Beitrag anzeigen
möchte dir nicht zu nahe treten, aber: danke, lass man gut sein. das skript ist nicht nur anfällig gegen angriffe, sondern offen wie ein scheunentor.
cx
ich hatte zwar schon eine Kontrollmöglichkeit bezüglich Spamrobotter, mit dem Ned-Feld (ist ein verstecktes Feld, welches die Robotter trotzdem ausfüllen, und welches leer sein muss), was bis jetzt gut funktionierte (seit dem [1 Jahr] keine einzige Spammail mehr)
aber, ok. ich orientiere mich um, denn ich will nicht dass meine Site zum Spamzombie wird.

Den geposteten Code kann ich leider nicht mehr entfernen. Könntest ja Du, als Admin, für mich tun.

Danke für Deine Mühe und die Tips.

Bis zum nächsten Mal

andreasa
Mit Zitat antworten
Antwort

Stichworte
mailformular


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Trotz Fehler weiterarbeiten! DominikJ PHP Grundlagen 9 08.08.2006 15:30:37
In fremden Gewässern... cgi probleme (500er Fehler, server...) amerix PHP für Fortgeschrittene und Experten 7 31.01.2003 11:44:08
Fehler im Script? |Coding PHP für Fortgeschrittene und Experten 17 10.09.2002 08:42:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:54:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt