Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Ich brauche dringend hilfe bei meinem php code





Frage

Kann mir mal jemand sagen warum der senden button nicht funktioniert???da kommt immer nen download feld aber es sollte doch eigentlich die email verschicken hier mein kompletter coder der site: <?php /* PHP Kontaktformular Copyright 2005 by texmedia http://www.texmedia.de Dieses Script darf für eigene Bedürfnisse angepasst und verändert werden sowie kostenlos benutzt werden. Gerne dürfen Sie dieses Script auch kostenlos verteilen und weitergeben, sofern unser texmedia Copyright in der Datei unverändert enthalten bleibt. */ //-> BITTE ANPASSEN $pbetreff[0] = 'Name'; $pbetreff[1] = 'Anschrift'; $pbetreff[2] = 'email Adresse'; $pbetreff[3] = 'Betreff'; $empfaenger = 'dachsysteme-beier@t-online.de'; // Dorthin werden Nachrichten geschickt $absender = 'Kontaktformular'; // Absenderanzeige des Kontaktformulars $newpoint = '<img src="stop.gif" width="16" height="16" align="absmiddle">&nbsp;'; // Fehlergrafik //-------------------------------------------------------------------------------------------------------------- // Voreinstellung per Parameterübergabe if(isset($_GET['betreff']) && (int)$_GET['betreff']>0 && (int)$_GET['betreff']<count($pbetreff)) $pflichtbetreff = true; if(isset($_POST['submit'])) { if(empty($_POST['name'])) { $Nachricht .= $newpoint."Bitte geben Sie Ihren <b>Namen</b> ein.<br>\n"; } elseif(strlen($_POST['Name']) < 2) { $Nachricht .= $newpoint."Ihr <b>Name</b> hat bestimmt mehr als 1 Zeichen... :-)<br>\n"; } if(empty($_POST['email']) && empty($_POST['telefon'])) { $Nachricht .= $newpoint."Bitte geben Sie ihre <b>Emailadresse oder Telefonnummer</b> an.<br>"; } elseif(!empty($_POST['email']) && !empty($_POST['email']) && !eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9-]+\.){1,3}([a-z0-9-]{2,3})$",$_POST['email'])) { $Nachricht .= $newpoint."Die <b>eMail-Adresse</b> entspricht nicht der korrekten Syntax.<br>\n"; } elseif(!empty($_POST['telefon']) && eregi("[^- /0-9]",$_POST['telefon'])) { $Nachricht .= $newpoint."Die <b>Telefonnummer</b> darf nur aus Zahlen bestehen.<br>\n"; } elseif(!empty($_POST['telefon']) && strlen($_POST['telefon'])<3) { $Nachricht .= $newpoint."Die <b>Telefonnummer</b> ist nicht gültig.<br>\n"; } if(empty($_POST['betreff'])) { $Nachricht .= $newpoint."Bitte wählen Sie einen <b>Betreff</b> aus.<br>\n"; } if(empty($_POST['text'])) { $Nachricht .= $newpoint."Sie haben noch keinen <b>Text</b> eingegeben.<br>\n"; } if(!$Nachricht) { // Mailinhalt definieren: $Text = "Folgende Anfrage wurde über das Supportformular im Internet gesendet:\n"; $Text .= "Name: ".$_POST['name']."\n"; $Text .= ($_POST['email']) ? "Email: ".$_POST['email']."\n" : "Email: Keine Angabe\n"; $Text .= ($_POST['telefon']) ? "Telefon: ".$_POST['telefon']."\n" : "Telefon: Keine Angabe\n"; $Text .= "Betreff: ".$pbetreff[(int)$_POST['betreff']]."\n\n"; $Text .= str_repeat('-',70)."\n".strip_tags($_POST['text'])."\n"; // Header definieren $dateiname = $_FILES['anhang']['tmp_name']; $dateiname_mail = $_FILES['anhang']['name']; $absender = ($_POST['email']) ? $_POST['email'] : $absender; $header = "From: $absender\nReply-To: ".$_POST['email']; // Anhang vorhanden? if($dateiname) { $trenner = md5(uniqid(time())); $header .= "\n"; $header .= "MIME-Version: 1.0"; $header .= "\n"; $header .= "Content-Type: multipart/mixed; boundary=$trenner"; $header .= "\n\n"; $header .= "This is a multi-part message in MIME format"; $header .= "\n"; $header .= "--$trenner"; $header .= "\n"; $header .= "Content-Type: text/plain"; $header .= "\n"; $header .= "Content-Transfer-Encoding: 8bit"; $header .= "\n\n"; $header .= $Text; $header .= "\n"; $header .= "--$trenner"; $header .= "\n"; $header .= "Content-Type: ".$_FILES['anhang']['type']."; name=$dateiname_mail"; $header .= "\n"; $header .= "Content-Transfer-Encoding: base64"; $header .= "\n"; $header .= "Content-Disposition: attachment; filename=$dateiname_mail"; $header .= "\n\n"; $dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname)); $header .= chunk_split(base64_encode($dateiinhalt)); $header .= "\n"; $header .= "--$trenner--"; // Keinen Anhang, nur Mail } else { $header .= "\nContent-Type: text/plain"; $header .= "\nContent-Transfer-Encoding: 8bit"; $header .= "\n\n".$Text; } //-> Alles ok, Mail verschicken. mail($empfaenger,$pbetreff[(int)$_POST['betreff']],'', $header); $gesendet = true; } } //---------------------------------------------------------------------------------------------------- // Hier erfolgt die html-Ausgabe. Diese kann beliebig angepasst werden. // Allerdings bitte darauf achten, dass die PHP-Befehle unverändert bleiben. ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Kontaktformular mit Anhang</title> <body> </body> <SCRIPT tpye="text/javascript"> <!-- document.kontakt.name.focus(); --> </script> </html> </body></html>

Antwort 1 von rabies_

... Schwer zu sagen, wenn Du nicht einmal den 'senden'-Button, denn das ist der relevante Code-Teil, zeigst. Also bitte das Formular, samt des Sendebuttons, posten.

Unter Umständen kann es sein, dass auf Deinem Webspace kein PHP installiert ist. Dann bietet einem der Hoster eine PHP-Datei schon einmal gerne zum Download an.

--rabies.