php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.04.2011, 11:37  
Neuer Benutzer
 
Registriert seit: 19.04.2011
Beiträge: 19
PHP-Kenntnisse:
Anfänger
Nakedchef ist zur Zeit noch ein unbeschriebenes Blatt
Nakedchef eine Nachricht über ICQ schicken
Standard Problem mit Kontaktformular

Hallo php.de Community,
vorweg möchte ich anmerken das ich mit php erst vor kurzem angefangen habe...
Deswegen hakt es jetzt auch einfach... deshalb benötige ich bei meinem Bewerbungsformular auch kurz eure Hilfe...
Dazu muss ich sagen, das senden der eMail an angegebene Adresse funktioniert bereits, nur bei den Dateianhängen stimmt etwas nicht... Diese werden zwar gesendet aber nur beschädigt empfangen... Wo liegt der Fehler?

PHP-Code:
                                    <?php
error_reporting
(E_ALL);

//Hier müssen die grundlegenden Werte eingegeben werden
$discribe="Hier können Sie mit mir Kontakt aufnehmen, indem Sie eine Email, eventuell mit Anhang, an mich senden."//Seitenbeschreibung
$title="Kontaktformular"//Seitentitel

define ('MAILTO'"bewerbung@email.de"); // Empfänger hier eintragen
define ('MAILFROM'"bewerbung@email.de"); // ggfls. Absender hier eintragen
define ('CHARSET'"iso-8859-1"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Name','Email','Betreff','Nachricht'); // ggfls. weitere Pflichtfelder angeben

//Ab hier brauchst du nur etwas verändern, wenn das Formular angepasst werden soll
/* Anhang */
    /* Wenn eine Datei als Anhang ausgewaehlt wurde */
    
if(!empty($_FILES['anhang']['name']))
       {
      
/* Lese die temporaere Datei, die der Benutzer hochgeladen hat aus */
      
$datei_inhalt fread(fopen($_FILES['anhang']['tmp_name'],"r"),filesize($_FILES['anhang']['tmp_name']));
      
/* Codiere Datei ins BASE64-Format */
      
$datei_inhalt chunk_split(base64_encode($datei_inhalt));
      
/* Generiere einen Boundary */
      
$boundary strtoupper(md5(uniqid(time())));
      
/* Beginne den Mail-Header mit MIME-Mail-Header */
      
$mail_header "MIME-Version: 1.0\n";
      
$mail_header .= "From: ".MAILFROM."\n";
      
$mail_header .= "Content-Type: multipart/mixed; boundary=".$boundary."\n\n";
      
/* Hier faengt der normale Mail-Text an */
      
$mail_body "--".$boundary."\r\n";
      
$mail_body .= "Content-Type: text/plain;\n";
      
$mail_body .= "Content-Transfer-Encoding: 8bit\n\n";
      
$mail_body .= print_r($_POST,true)."\r\n";
      
/* Hier faengt der Datei-Anhang an */
      
$mail_body .= "--".$boundary."\n";
      
$mail_body .= "Content-Type: ".$_FILES['anhang']['type']."; name=\"".$_FILES['anhang']['name']."\"\n";
      
$mail_body .= "Content-Transfer-Encoding: base64\n";
      
$mail_body .= "Content-Disposition: attachment; filename=\"".$_FILES['anhang']['name']."\"\r\n";
      
$mail_body .= $datei_inhalt."\n";

       
/* Hier faengt der Datei-Anhang an */
      
$mail_body .= "--".$boundary."\r\n";
      
$mail_body .= "Content-Type: ".$_FILES['anhang1']['type']."; name=\"".$_FILES['anhang1']['name']."\"\n";
      
$mail_body .= "Content-Transfer-Encoding: base64\n";
       
$mail_body .= print_r($_POST,true)."\n\n";
      
$mail_body .= "Content-Disposition: attachment; filename=\"".$_FILES['anhang1']['name']."\"\r\n";
      
$mail_body .= $datei_inhalt."\n";

        
/* Hier faengt der Datei-Anhang an */
      
$mail_body .= "--".$boundary."\r\n";
      
$mail_body .= "Content-Type: ".$_FILES['anhang2']['type']."; name=\"".$_FILES['anhang2']['name']."\"\n";
      
$mail_body .= "Content-Transfer-Encoding: base64\n";
         
$mail_body .= print_r($_POST,true)."\n\n";
      
$mail_body .= "Content-Disposition: attachment; filename=\"".$_FILES['anhang2']['name']."\"\r\n";
      
$mail_body .= $datei_inhalt."\n";
      
/* Gibt das Ende der eMail aus */
      
$mail_body .= "--".$boundary."--\n";
     }

    else
     {
     
$mail_header 'Content-Type: text/plain; charset='.CHARSET;
     
$mail_body "";
     if(
MAILFROM$mail_body .= chr(13).chr(10).'From: '.MAILFROM.'\n\n';
     
$mail_body .= print_r($_POST,true).'\n\n';
     }


if(
$Formular_abgeschickt = !empty($_POST)) {
  
$Formular_leer trueset_magic_quotes_runtime(0);
  
$_POST array_map('Formular_Daten'$_POST);
}
function 
Formular_Daten($val) {
  global 
$Formular_leer;
  if(
is_array($val)) return array_map('Formular_Daten'$val);
  if(
get_magic_quotes_gpc()) $val stripslashes($val);
  if(
$val trim($val)) $Formular_leer false;
  return 
$val;
}

function 
Formular_Pflichtfelder() {
  global 
$Pflichtfelder;
       
$Fehler '';
       foreach (
$Pflichtfelder as $Feld) {
         
$key str_replace(' ','_',$Feld);
         if(!(isset(
$_POST[$key]) && trim($_POST[$key]))) {
           if(
$Fehler$Fehler .= '<br />';
           
$Fehler .= 'Pflichtfeld "' $Feld '" <span style="color: #CC0000;">nicht ausgefüllt.</span>';
         }
       }
  return 
$Fehler;
}

function 
Formular_neu($log='.htPOSTdata.txt') {
  if(
file_exists($log) && is_readable($log)
   && 
file_get_contents($log) == print_r($_POST,true))
  return 
false;
  if(
$handle=@fopen($log'w')) {
    
fwrite($handleprint_r($_POST,true)); fclose($handle);
  }
  return 
true;
}

function 
Formular_Check() {
  global 
$Formular_leer;
  if(
$Formular_leer$Fehler '<span style="color: #CC0000;">Keine Daten eingetragen.</span>';
  elseif(!empty(
$_POST['Mail'])) $Fehler 'Die Spam-Falle wurde ausgefüllt!';  //Fehlerausgabe wenn das Feld "Mail" (Bot-Falle) ausgefüllt ist
  
elseif($_FILES['anhang']['size'] > 5242880$Fehler '<span style="color: #CC0000;">Der Dateianhang ist zu groß!</span>'//Fehlerausgabe wenn der Dateianhang größer als 1MB ist
  
elseif($_FILES['anhang1']['size'] > 5242880$Fehler '<span style="color: #CC0000;">Der Dateianhang ist zu groß!</span>'//Fehlerausgabe wenn der Dateianhang größer als 1MB ist
  
elseif($_FILES['anhang2']['size'] > 5242880$Fehler '<span style="color: #CC0000;">Der Dateianhang ist zu groß!</span>'//Fehlerausgabe wenn der Dateianhang größer als 1MB ist

  
elseif(!$Fehler Formular_Pflichtfelder()) {
    if(!
Formular_neu()) $Fehler '<span style="color: #CC0000;">Nachricht war bereits verschickt.</span>';
  }
  return 
$Fehler;
}

function 
Formular_Eingabe($Feldname$def='') {
  if(!empty(
$_POST[$Feldname])) echo htmlspecialchars($_POST[$Feldname]);
  else echo 
$def;
}
?>
Vielen Dank
Nakedchef
Nakedchef ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.04.2011, 11:42  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

http://sourceforge.net/projects/phpmailer/

Bitte bedenke, dass ein stures "Funktioniert nicht" hier nicht gerne als Fehlerbeschreibung gesehen wird.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 19.04.2011, 11:43  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

http://www.php.de/beitragsarchiv/642...lebe-mail.html (Mail() ist tot, es lebe mail()…)
cycap ist offline   Mit Zitat antworten
Alt 19.04.2011, 12:16  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ich seh zwar ziemlich gut ...( 100 - 140% sehschärfe laut Führerschein- und Musterungssehtest) ... aber in deinem COde kann ich gar keine FUnktion entdecken, die eine Email abschicken würde ... ...

allerdings kann auch ich nur abraten, die mail() Funktion zu nutzen und verweise wie meine Vorschreiber auf phpmailer , dies erleichtert deutlich die Erstellung einer nach RFC gültigen Email und verringert damit auch die Wahrscheinlichkeit in einem der üblichen (Spam)Filter hängen zu bleiben
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Antwort


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontaktformular Problem .... root-2k10 PHP Einsteiger 5 16.03.2011 08:15
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
Kontaktformular: wo is der Fehler? Mick_Sebutia PHP Tipps 2008 16 15.09.2008 15:09
Kontaktformular mit Spamschutz und include Navigation? chicco4u PHP Tipps 2008 1 11.08.2008 09:52
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Spam Problem mit Kontaktformular djrace PHP Tipps 2007 9 02.01.2006 12:37
Problem mit Kontaktformular PHP Tipps 2007 6 15.11.2005 18:50
Problem mit Kontaktformular? PHP Tipps 2004-2 6 13.12.2004 18:48
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Kontaktformular - Nachricht wurde verschickt PHP Tipps 2004 4 22.10.2004 09:18
problem mit Kontaktformular PHP Tipps 2004 2 02.06.2004 16:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bei bewerbung anhang im online formular nicht uebermittelt wie in email anmerken, empty($_files[\'anhang2\'][\'name\']), kontaktformular define absender, \$_files[\'anhang\']\, kontaktformular php spamfalle, \bewerbung@email.de\, boundary kontaktformular, kontaktformular zeichencodierung, kontaktformular anhang bewerbung #, kontaktformular php zeichenkodierung, phpmailer set_magic_quotes_runtime, kontaktformular php mit if, phpmailer zeichencodierung

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:41 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