php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 24-09-2007, 01:54
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Question Pflichtfelder bei Formular aktivieren

Hallo, bin ein PHP Newbie und habe ein einfaches Formular erstellt, bzw. ein fertiges benutzt. Leider habe ich es nicht geschafft die Pflichtfelder einzustellen. Sorry, wenn der Code nicht besonders sauber ist, aber vielleicht kann mir ja einer von euch helfen. Was muss ich wo eingeben, damit einige dieser Felder ausgefüllt müsen?

Hier die Seite mit dem Formular:

<br />
<br />

<form name="mail" method="post" action="planetmail.php">

<!-- <input type=hidden name="send_index" value="dat2"> -->

<b>Name</b>
<br />
<input type="text" name="Name" />
<br /><br />
<b>eMail-Adresse</b>
<br />
<input type="text" name="eMail" />
<br /><br />
<b>Mitteilung</b>
<br />
<textarea name="Mitteilung" rows="6"></textarea>
<br />
<input name="Submit" type="submit" value="Nachricht senden" />

</form>


Hier die Seite mit dem PHP Script:

<?php


#################################################
#
# (c) PlaNet Concept e.K., Lars Odermath, 2006
#
#################################################
#
# :: planetMail :: Version vom 22.07.2006
#
# COPYRIGHT NOTICE
# Copyright 2006 PlaNet Concept e.K.
# All Rights Reserved.
# EMail: kontakt@planetc.de
# URL : http://www.planetc.de
#
# :: planetMail :: darf von jedem kostenlos benutzt und geändert werden,
# solange dieser Copyright-Verweis und die restlichen Kommentare erhalten bleiben.
#
# Mit dem Einsatz dieses Skripts akzeptieren Sie, daß PlaNet Concept e.K.,
# Lars Odermath, von jeglicher Haftung und Gewährleistung hinsichtlich des
# Einsatzes befreit ist.
#
# Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne vorherige
# Absprache ausdrücklich untersagt! (Mit anderen Worten: Bitte fragen Sie uns,
# bevor Sie versuchen, mit unserem Script Geld zu verdienen.)
#
# Um dieses Skript über das Internet oder ein anderes Medium
# weiterzuverbreiten, benötigen Sie vorher unsere Erlaubnis. In jeden Fall
# müssen der Copyright-Verweis und die restlichen Kommentare erhalten
# bleiben.
#################################################

sendEmail();

function sendEmail(){

#################################################
# KONFIGURATION
#################################################


// Zu Testzwecken
// 1 => Der Inhalt der eMail wird in eine Textdatei geschrieben (wenn Sie offline testen möchten)
// 0 => Die eMail wird verschickt
$testOffline = 0;



// Geben Sie hier ein gültige eMail-Adresse von sich an
// Diese eMail-Adresse wird dann auch als Absender-eMail-Adresse angezeigt, wenn die nachfolgende
// Option nicht aktiviert (also auf 1 gesetzt) wird.
// (Dies ist bei manchen Providern Voraussetzung, um Spamming zu verhindern)
$emailFrom = "tut@tut.net";



// eMail-Adresse des Versenders als Absenderadresse nutzen (um beispielsweise direkt anworten zu können)
// 1 => Ja | 0 => Nein
$useSendersEmail = 1;

// Geben Sie nachfolgend den Namen des Formularfeldes an, in das der Absender seine
// eMail-Adresse einträgt (Voreinstellung ist: eMail || BEACHTEN SIE GROSS- & KLEINSCHREIBUNG!!!!).
// Die Eingabe ist nur dann notwendig, wenn Sie die vorangehende Option ($useSendersEmail) auf "1" setzen!
$mailFromField = 'eMail-Adresse';



// SPAM-MISSBRAUCH-SCHUTZ
// Aktivieren Sie den Schutz vor einem Missbrauch des Formmailers durch Spammer!
// Genauere Informationen finden Sie in der README.txt
// 1 => aktiviert | 0 => NICHT aktiviert
$spamProtect = 1;

// "Badword"-Schutz (Erweiterung zum Spam-Schutz)
// Hier können Sie Wörter und Wortkombinationen eintragen, die nicht in einer eMail vorkommen dürfen.
// Kommen diese Wörter vor, wird die Verarbeitung der Nachricht mit einer Fehlermeldung abgebrochen.
// Zusätzlich können Sie angeben, wie oft ein Wort maximal vorkommen darf.
// Z.B. kann es sein, dass jemand einen Link mit "http:" senden möchte. Immer häufiger kommen aber auch
// Spam-eMails vor, welche unmengen an Links enthalten. So könnte man einstellen, dass mehr als X Links
// in einer Nachricht vermutlich Spam sind.
// In der Vorgabe, dürfte in der Nachricht das Wort "Viagra" nicht einmal vorkommen, "Free Software" dürfte
// Ihnen zumindest einmal gesagt werden. Selbstverständlich können hier auch eMail-Adressen oder andere
// Inhalte eingetragen werden.
// NUTZEN SIE DIESE OPTION MIT BEDACHT, UM NICHT UNNÖTIG "GUTE" EMAILS ZU BLOCKEN
$GLOBALS['badwords'] = array('Viagra' => '0', 'sex' => '0', 'arsch' => '0', 'kostenlos' => '0', 'free' => '0', '@' => '1');




// Empfänger eMail-Adressen, Subject, Zielseite nach dem Versenden der eMail
// Soll KEINE Kopie der eMail an eine zweite Adresse geschickt werden, so löschen Sie die "Dummy"-eMail-Adresse
// "kopie@ihre_domain.de", so daß nur noch die beiden Hochstriche stehen bleiben ("").
// Ansonsten geben Sie dort bitte eine gültige eMail-Adresse ein.
// Genauere Informationen finden Sie in der README.txt
$send_dat = array(

"dat1" => array("tut@tut.de", "", "CAMPUS DUISBURG Anmeldung O-Tage", "danke.htm"),
#"dat2" => array("", "", "", ""),
#"dat3" => array("", "", "", ""),

);



// Felder aus dem Formular, die NICHT mit der eMail übertragen werden sollen.
// TIPP: Verwenden Sie grafische Buttons als "Absendeknopf", so werden die Koordinaten
// der Klickstelle mit der eMail verschickt. Um diesen (unschönen) Effekt zu umgehen,
// geben sie für den grafischen Button name="senden" ein.
$ignoreFormFields = array('send_index', 'senden', 'submit', 'check_form','Submit','senden_y','senden_x');


###########################################################
# ENDE DER KONFIGURATION (AB HIER SOLLTE NICHTS MEHR GEÄNDERT WERDEN!!!!!!!!!!!)
###########################################################
$mailto = '';
$mail_cc = '';
$subject= '';
$message = '';

// Datum (+deutsche Tage)
$name_tag = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
$day = $name_tag[date('w')];
$year = date('Y');
$n = date('d');
$month = date('m');
$time = date('H:i');


// Prüfung, welches send_dat-Array zum senden verwendet werden soll
// Default: dat1
!empty($_POST['send_index']) ? $st = $_POST['send_index'] : $st = 'dat1';


// Versende Daten
$mailto = $send_dat[$st][0]; // Ziel-eMail-Adresse
$mail_cc = $send_dat[$st][1]; // 2. Ziel-eMail-Adresse (Kopie)
$subject = $send_dat[$st][2]; // Subjekt
$redirect = $send_dat[$st][3]; // Zielseite nach eMailversand



// Formularfelder auslesen und in die eMail "einsetzen"
// Zu ignorierende Felder werden NICHT eingesetzt
while (list($fieldName, $fieldValue) = each($_POST))
{
if (in_array($fieldName, $ignoreFormFields) || empty($fieldValue)) continue;
$message .= "$fieldName:\r\n$fieldValue\r\n\r\n\r\n";
}



// Funktion zum prüfen des Inhaltes aufrufen
$message = cleanContent($message, $spamProtect);

// Datum und Zeit voranstellen
$message = ":: Gesendet am $day, den $n.$month.$year - $time Uhr ::\r\n\r\n$message";


// Weiterleitung auf eine andere Seite
Header("Location: $redirect");


// Absender-eMail-Adresse
($useSendersEmail == 1) ? $emailFrom = $_POST[$mailFromField] : $emailFrom = $emailFrom;

$header = "From: $emailFrom";


// Kopie schicken
if (!empty($mail_cc)) {
$header .= "\r\n";
$header .= "Cc: $mail_cc";
}


// eMail verschicken
if ($testOffline == '0') {
@mail ($mailto, $subject, $message, $header)
|| die('<b>Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut!</b>');
}

// eMail zum testen in ein Textfile schreiben
if ($testOffline == '1') {
$testmail = fopen('email.txt', 'w+');
fwrite($testmail, $message);
fclose($testmail);
}


} // end function



/***** Inhalte "bereinigen" *****/
function cleanContent($content, $spamProtect)
{
$content = str_replace('<br>', "\r\n", $content);
$content = stripslashes(strip_tags($content));

// Spam-Missbrauch-Schutz aufrufen
if($spamProtect == 1) { $content = checkContent($content); }

return $content;
}


/***** Spam-Missbrauch-Schutz *****/
function checkContent($tpcontent)
{
// kritische Zeichen entfernen
$checkit = array("/bcc\:/i","/cc\:/i","/to\:/i");
$tpcontent = preg_replace($checkit, "", $tpcontent);

// Script-Abbruch bei eindeutigem Spamversuchen
if (preg_match("/(MIME\-Version\:|Content\-Type\/i", $tpcontent)) {
die('Ihre Angaben enthalten kritische Zeichen! Aus Gründen des Spamschutzes wird Ihre Nachricht nicht versendet.');
}

// "Badword"-Überprüfung
if ($GLOBALS['badwords']) {
foreach($GLOBALS['badwords'] as $badword=>$count)
{
preg_match_all('/\b'.$badword.'\b/i', $tpcontent, $match);

if (sizeof($match[0]) > $count) {
die('Ihre Eingabe beinhaltet nicht akzeptierte Zeichen oder Wörter. Diese Nachricht wird nicht gesendet!');
}
}
}

// Formular ohne Inhalte nicht versenden
if (empty($tpcontent)) {
die('Es wurden keine Angaben gemacht! Ein leeres Formular wird nicht versendet.');
}

return $tpcontent;
}


?>





Vielen Dank im Vorraus!
Mit Zitat antworten
  #2 (permalink)  
Alt 24-09-2007, 09:48
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard Re: Pflichtfelder bei Formular aktivieren

Code:
# Um dieses Skript über das Internet oder ein anderes Medium
# weiterzuverbreiten, benötigen Sie vorher unsere Erlaubnis. In jeden Fall
# müssen der Copyright-Verweis und die restlichen Kommentare erhalten
# bleiben.
Ich hoffe, du hast seine Erlaubnis
Mit Zitat antworten
  #3 (permalink)  
Alt 24-09-2007, 09:53
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab bis hierhin gelesen:
# :: planetMail :: darf von jedem kostenlos benutzt und geändert werden,
# solange dieser Copyright-Verweis und die restlichen Kommentare erhalten bleiben.

Aber ich denke da wird niemand was dagegen haben oder, ist ja freeware und kein großer Eingriff?!
LG Sarah
Mit Zitat antworten
  #4 (permalink)  
Alt 24-09-2007, 10:02
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

OK!
Aber was hast du denn jetzt eigentlich vor? Was meinst du mit "Leider habe ich es nicht geschafft die Pflichtfelder einzustellen"?
Mit Zitat antworten
  #5 (permalink)  
Alt 24-09-2007, 10:06
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Einige Felder müssen ausgefüllt werden, andere sind keine Pflicht. Werden diese nicht ausgefüllt, muss ein Kommentar kommen, das einiege Felder fehlen. Das richtige Formular findest Du unter:
http :// www.uni-due.de /io/email/anmeldung_essen.htm
Ich denke dann wird klar was ich damit meine.
Vielen Dank!
Mit Zitat antworten
  #6 (permalink)  
Alt 24-09-2007, 10:43
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Dann machst du vorweg eine Schleife:
PHP-Code:
$needed = array();  // Die benötigten Felder hier eintragen!
foreach( $needed as $need ) {
   if( !isset( 
$_POST[$need] ) ) {
      die( 
"Feld ".$need." ist nicht ausgefüllt!" );
   }

Mit Zitat antworten
  #7 (permalink)  
Alt 24-09-2007, 11:42
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

naja, ein wenig nervig, da dort immer nur das erste, nicht ausgefüllte pflichtfeld "angemeckert" wird, und man über den zurück-button zum formular zurück muss...


OffTopic:

ich glaube, ich muss mir noch einen weiblichen account anlegen... schön so n thread ohne "REGELN BEACHTEN!!!", "GOOGLEN!!!", "WAS SIND DEN DEINE ANSÄTZE BISLANG??!!" zu lesen...

der gute alte doppel-x-bonus

__________________
**********
arkos
**********
Mit Zitat antworten
  #8 (permalink)  
Alt 24-09-2007, 12:30
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$fehler = array();
$zwang = array('name','adresse','wohnort');
$leer array_keys($_POST,'');
foreach(
$leer as $wert){
  if(
array_key_exists($wert,$zwang)){
    switch(
$wert){
      case 
'name':
        
$fehler['name'] = 'Bitte einen Namen angeben';
      break;
      case 
'adresse':
        
$fehler['adresse'] = 'Ihre Adresse wäre auch ganz nett';
      break;
      case 
'wohnort':
        
$fehler['wohnort'] = 'Wir müssten auch noch wissen wo sie wohnen';
      break;
    }
  }

Die Fehlermeldungen in $fehler kannst du dann bei der Wiederausgabe des Forms hinter die entsprechenden Inputfelder schreiben.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #9 (permalink)  
Alt 24-09-2007, 12:48
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi, vielen Dank für euere Antworten - habe aber noch Probleme das ins PHP Script einzubauen ... irgendwie will das Formular nicht klappen, wenn ich den Abschnitt einbaue
Mit Zitat antworten
  #10 (permalink)  
Alt 24-09-2007, 12:52
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
habe aber noch Probleme das ins PHP Script einzubauen ...
Uns was genau ist hierbei dein Problem? Was hast du schon probiert? Was passiert bei deinen Versuchen?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 24-09-2007, 12:53
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Sarah
... irgendwie will das Formular nicht klappen, wenn ich den Abschnitt einbaue
das ist keine aussagekräftige fehlerbeschreibung...

OffTopic:

@jah... wird das das rückspiel heute???

__________________
**********
arkos
**********
Mit Zitat antworten
  #12 (permalink)  
Alt 24-09-2007, 13:00
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry sorry ... ihr habt ja recht! Hab halt vorher nie mit PHP groß gearbeitet

Hier das Script:


<?php

$fehler = array();
$zwang = array('Vorname','Nachname','Nationalit&auml;t');
$leer = array_keys($_POST,'');
foreach($leer as $wert){
if(array_key_exists($wert,$zwang)){
switch($wert){
case 'Vorname':
$fehler['Vorname'] = 'Bitte einen Namen angeben';
break;
case 'Nachname':
$fehler['Nachname'] = 'Ihre Adresse wäre auch ganz nett';
break;
case 'Nationalit&auml;t':
$fehler['Nationalit&auml;t'] = 'Wir müssten auch noch wissen wo sie wohnen';
break;
}
}
}


#################################################
#
# (c) PlaNet Concept e.K., Lars Odermath, 2006
#
#################################################
#
# :: planetMail :: Version vom 22.07.2006
#
# COPYRIGHT NOTICE
# Copyright 2006 PlaNet Concept e.K.
# All Rights Reserved.
# EMail: kontakt@planetc.de
# URL : http://www.planetc.de
#
# :: planetMail :: darf von jedem kostenlos benutzt und geändert werden,
# solange dieser Copyright-Verweis und die restlichen Kommentare erhalten bleiben.
#
# Mit dem Einsatz dieses Skripts akzeptieren Sie, daß PlaNet Concept e.K.,
# Lars Odermath, von jeglicher Haftung und Gewährleistung hinsichtlich des
# Einsatzes befreit ist.
#
# Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne vorherige
# Absprache ausdrücklich untersagt! (Mit anderen Worten: Bitte fragen Sie uns,
# bevor Sie versuchen, mit unserem Script Geld zu verdienen.)
#
# Um dieses Skript über das Internet oder ein anderes Medium
# weiterzuverbreiten, benötigen Sie vorher unsere Erlaubnis. In jeden Fall
# müssen der Copyright-Verweis und die restlichen Kommentare erhalten
# bleiben.
#################################################

sendEmail();

function sendEmail(){

#################################################
# KONFIGURATION
#################################################


// Zu Testzwecken
// 1 => Der Inhalt der eMail wird in eine Textdatei geschrieben (wenn Sie offline testen möchten)
// 0 => Die eMail wird verschickt
$testOffline = 0;



// Geben Sie hier ein gültige eMail-Adresse von sich an
// Diese eMail-Adresse wird dann auch als Absender-eMail-Adresse angezeigt, wenn die nachfolgende
// Option nicht aktiviert (also auf 1 gesetzt) wird.
// (Dies ist bei manchen Providern Voraussetzung, um Spamming zu verhindern)
$emailFrom = "sarah.mix@gmx.net";



// eMail-Adresse des Versenders als Absenderadresse nutzen (um beispielsweise direkt anworten zu können)
// 1 => Ja | 0 => Nein
$useSendersEmail = 1;

// Geben Sie nachfolgend den Namen des Formularfeldes an, in das der Absender seine
// eMail-Adresse einträgt (Voreinstellung ist: eMail || BEACHTEN SIE GROSS- & KLEINSCHREIBUNG!!!!).
// Die Eingabe ist nur dann notwendig, wenn Sie die vorangehende Option ($useSendersEmail) auf "1" setzen!
$mailFromField = 'eMail-Adresse';



// SPAM-MISSBRAUCH-SCHUTZ
// Aktivieren Sie den Schutz vor einem Missbrauch des Formmailers durch Spammer!
// Genauere Informationen finden Sie in der README.txt
// 1 => aktiviert | 0 => NICHT aktiviert
$spamProtect = 1;

// "Badword"-Schutz (Erweiterung zum Spam-Schutz)
// Hier können Sie Wörter und Wortkombinationen eintragen, die nicht in einer eMail vorkommen dürfen.
// Kommen diese Wörter vor, wird die Verarbeitung der Nachricht mit einer Fehlermeldung abgebrochen.
// Zusätzlich können Sie angeben, wie oft ein Wort maximal vorkommen darf.
// Z.B. kann es sein, dass jemand einen Link mit "http:" senden möchte. Immer häufiger kommen aber auch
// Spam-eMails vor, welche unmengen an Links enthalten. So könnte man einstellen, dass mehr als X Links
// in einer Nachricht vermutlich Spam sind.
// In der Vorgabe, dürfte in der Nachricht das Wort "Viagra" nicht einmal vorkommen, "Free Software" dürfte
// Ihnen zumindest einmal gesagt werden. Selbstverständlich können hier auch eMail-Adressen oder andere
// Inhalte eingetragen werden.
// NUTZEN SIE DIESE OPTION MIT BEDACHT, UM NICHT UNNÖTIG "GUTE" EMAILS ZU BLOCKEN
$GLOBALS['badwords'] = array('Viagra' => '0', 'sex' => '0', 'arsch' => '0', 'kostenlos' => '0', 'free' => '0', '@' => '1');




// Empfänger eMail-Adressen, Subject, Zielseite nach dem Versenden der eMail
// Soll KEINE Kopie der eMail an eine zweite Adresse geschickt werden, so löschen Sie die "Dummy"-eMail-Adresse
// "kopie@ihre_domain.de", so daß nur noch die beiden Hochstriche stehen bleiben ("").
// Ansonsten geben Sie dort bitte eine gültige eMail-Adresse ein.
// Genauere Informationen finden Sie in der README.txt
$send_dat = array(

"dat1" => array("sarah.mix@gmx.de", "", "CAMPUS ESSEN Anmeldung O-Tage", "danke.htm"),
#"dat2" => array("", "", "", ""),
#"dat3" => array("", "", "", ""),

);



// Felder aus dem Formular, die NICHT mit der eMail übertragen werden sollen.
// TIPP: Verwenden Sie grafische Buttons als "Absendeknopf", so werden die Koordinaten
// der Klickstelle mit der eMail verschickt. Um diesen (unschönen) Effekt zu umgehen,
// geben sie für den grafischen Button name="senden" ein.
$ignoreFormFields = array('send_index', 'senden', 'submit', 'check_form','Submit','senden_y','senden_x');


###########################################################
# ENDE DER KONFIGURATION (AB HIER SOLLTE NICHTS MEHR GEÄNDERT WERDEN!!!!!!!!!!!)
###########################################################
$mailto = '';
$mail_cc = '';
$subject= '';
$message = '';

// Datum (+deutsche Tage)
$name_tag = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
$day = $name_tag[date('w')];
$year = date('Y');
$n = date('d');
$month = date('m');
$time = date('H:i');


// Prüfung, welches send_dat-Array zum senden verwendet werden soll
// Default: dat1
!empty($_POST['send_index']) ? $st = $_POST['send_index'] : $st = 'dat1';


// Versende Daten
$mailto = $send_dat[$st][0]; // Ziel-eMail-Adresse
$mail_cc = $send_dat[$st][1]; // 2. Ziel-eMail-Adresse (Kopie)
$subject = $send_dat[$st][2]; // Subjekt
$redirect = $send_dat[$st][3]; // Zielseite nach eMailversand



// Formularfelder auslesen und in die eMail "einsetzen"
// Zu ignorierende Felder werden NICHT eingesetzt
while (list($fieldName, $fieldValue) = each($_POST))
{
if (in_array($fieldName, $ignoreFormFields) || empty($fieldValue)) continue;
$message .= "$fieldName:\n$fieldValue\r\n\r\n\r\n";
}


// Funktion zum prüfen des Inhaltes aufrufen
$message = cleanContent($message, $spamProtect);

// Datum und Zeit voranstellen
$message = ":: Gesendet am $day, den $n.$month.$year - $time Uhr ::\r\n\r\n$message";


// Weiterleitung auf eine andere Seite
Header("Location: $redirect");


// Absender-eMail-Adresse
($useSendersEmail == 1) ? $emailFrom = $_POST[$mailFromField] : $emailFrom = $emailFrom;

$header = "From: $emailFrom";


// Kopie schicken
if (!empty($mail_cc)) {
$header .= "\r\n";
$header .= "Cc: $mail_cc";
}


// eMail verschicken
if ($testOffline == '0') {
@mail ($mailto, $subject, $message, $header)
|| die('<b>Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut!</b>');
}

// eMail zum testen in ein Textfile schreiben
if ($testOffline == '1') {
$testmail = fopen('email.txt', 'w+');
fwrite($testmail, $message);
fclose($testmail);
}


} // end function



/***** Inhalte "bereinigen" *****/
function cleanContent($content, $spamProtect)
{
$content = str_replace('<br>', "\r\n", $content);
$content = stripslashes(strip_tags($content));

// Spam-Missbrauch-Schutz aufrufen
if($spamProtect == 1) { $content = checkContent($content); }

return $content;
}


/***** Spam-Missbrauch-Schutz *****/
function checkContent($tpcontent)
{
// kritische Zeichen entfernen
$checkit = array("/bcc\:/i","/cc\:/i","/to\:/i");
$tpcontent = preg_replace($checkit, "", $tpcontent);

// Script-Abbruch bei eindeutigem Spamversuchen
if (preg_match("/(MIME\-Version\:|Content\-Type\/i", $tpcontent)) {
die('Ihre Angaben enthalten kritische Zeichen! Aus Gründen des Spamschutzes wird Ihre Nachricht nicht versendet.');
}

// "Badword"-Überprüfung
if ($GLOBALS['badwords']) {
foreach($GLOBALS['badwords'] as $badword=>$count)
{
preg_match_all('/\b'.$badword.'\b/i', $tpcontent, $match);

if (sizeof($match[0]) > $count) {
die('Ihre Eingabe beinhaltet nicht akzeptierte Zeichen oder Wörter. Diese Nachricht wird nicht gesendet!');
}
}
}

// Formular ohne Inhalte nicht versenden
if (empty($tpcontent)) {
die('Es wurden keine Angaben gemacht! Ein leeres Formular wird nicht versendet.');
}

return $tpcontent;
}


?>
Mit Zitat antworten
  #13 (permalink)  
Alt 24-09-2007, 13:03
Sarah
 Newbie
Links : Onlinestatus : Sarah ist offline
Registriert seit: Sep 2007
Beiträge: 10
Sarah ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von arkos
das ist keine aussagekräftige fehlerbeschreibung...

OffTopic:

@jah... wird das das rückspiel heute???

Wenn ich senden will geht er nur zum PHP Script (phpmail.php) und stopt dort.
Mit Zitat antworten
  #14 (permalink)  
Alt 24-09-2007, 13:03
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Das ist ja ziemlich konkret...

Was genau ist das Problem?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

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
  #15 (permalink)  
Alt 24-09-2007, 13:10
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie wär das ?
PHP-Code:
if(isset($_POST)){
  
$fehler = array();
  
$zwang = array('name','adresse','wohnort');
  
$leer array_keys($_POST,'');
  foreach(
$leer as $wert){
    if(
array_key_exists($wert,$zwang)){
      switch(
$wert){
        case 
'name':
          
$fehler['name'] = 'Bitte einen Namen angeben';
        break;
        case 
'adresse':
          
$fehler['adresse'] = 'Ihre Adresse wäre auch ganz nett';
        break;
        case 
'wohnort':
          
$fehler['wohnort'] = 'Wir müssten auch noch wissen wo sie wohnen';
        break;
      }
    }
  }

Du musst erst prüfen, ob das Formular bereits abgeschickt wurde oder ob das Form zum ersten Mal ausgegeben wurde. Wurde es zum ersten Mal aufgerufen, dann macht doch die Fehlerprüfung keinen Sinn, weil der User ja noch gar keine Daten versendet hat.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:51 Uhr.