Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „PHP kontaktformular + Upload“

Tyrexx99

Mini CS3 Freak

Hallo,
ich habe mir ein Formular aus dem Intenet herrausgesucht.
Es ist ein normales Kontaktformular, nur man kann auch ein Bild mit schicken!

Hier der Code:

<html>
<head>
<title>Kontaktformular inkl. Dateianhang mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "genie94@web.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];

$Trenner = md5(uniqid(time()));

$Header = "From: ".$_REQUEST['Email'];
$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 .= "Sie haben folgende Nachricht erhalten: \n\n";

while(list($Formularfeld, $Wert) = each($_REQUEST))
{
if($Formularfeld != "Send" && $Formularfeld != "Anhang")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}

$Header .= "\nDatum/Zeit: ";
$Header .= date("d.m.Y H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";

mail($Empfaenger, $Mailbetreff, "", $Header);
echo"Vielen Dank für Ihre eMail!";
}
}
else
{
?>
<table border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<tr>
<td>Name:</td>
<td><input name="Name" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
</tr>
<tr>
<td>Nachricht:</td>
<td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td>Anhang:</td>
<td><input name="Anhang" size="20" type="file"></td>
</tr>
<tr>
<td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
</tr>
</form>
</table>
<?php
}

?>
</body>
</html>

das einfügen ging auch wunderbar.
nur wenn man auf absenden klickt, erscheint eine neue Seite, wo drauf steht, dass die seite nicht verfügbar ist.
Hoffe, ihr könnt mir helfen^^

Gruß

Hier noch 2 Screenshots:

http://www.bilder-hochladen.net/files/9ke1-2g-png.html

http://www.bilder-hochladen.net/files/9ke1-2h-png.html
 

sokie

Mod | Web

AW: PHP kontaktformular + Upload

PHP:
<form action="<?php echo$_SERVER['PHP_SELF']; ?>"

hier braucht es ein leerzeichen zwischen "echo" und "$_SERVER..."
 

Tyrexx99

Mini CS3 Freak

AW: PHP kontaktformular + Upload

so ... nen hab jetzt das Leerzeichen eingebaut ... doch es funktioniert immer noch nicht.
es tritt der gleiche Fehler wie beim letzten mal auf ...

PHP:
<html>
<head>
<title>Kontaktformular inkl. Dateianhang mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "genie94@web.de";

if($_REQUEST['Send'])
{
    if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
    {
        echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
    }
    else
    {
        $Mailbetreff = "Kontakt: ";
        $Mailbetreff .= $_REQUEST['Betreff'];

        $Trenner = md5(uniqid(time()));

        $Header = "From: ".$_REQUEST['Email']; 
        $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 .= "Sie haben folgende Nachricht erhalten: \n\n";

        while(list($Formularfeld, $Wert) = each($_REQUEST))
        {
            if($Formularfeld != "Send" && $Formularfeld != "Anhang")
            {
                $Header .= $Formularfeld.": ".$Wert."\n";
            }
        }

        $Header .= "\nDatum/Zeit: ";
        $Header .= date("d.m.Y H:i:s");
        $Header .= "\n"; 
        $Header .= "--$Trenner"; 
        $Header .= "\n"; 
        $Header .= "Content-Type: ";
        $Header .= $_FILES['Anhang']['type'];
        $Header .= "; name=";
        $Header .= $_FILES['Anhang']['name']; 
        $Header .= "\n"; 
        $Header .= "Content-Transfer-Encoding: base64"; 
        $Header .= "\n"; 
        $Header .= "Content-Disposition: attachment; filename=";
        $Header .= $_FILES['Anhang']['name']; 
        $Header .= "\n\n"; 
        $Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
        $Header .= chunk_split(base64_encode($Dateiinhalt));
        $Header .= "\n"; 
        $Header .= "--$Trenner--"; 

        mail($Empfaenger, $Mailbetreff, "", $Header); 
        echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
?>
<table border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
 <tr>
  <td>Name:</td>
  <td><input name="Name" size="20" type="text"></td>
 </tr>
 <tr>
  <td>eMail:</td>
  <td><input name="Email" size="20" type="text"></td>
 </tr>
 <tr>
  <td>Betreff:</td>
  <td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
 </tr>
 <tr>
  <td>Nachricht:</td>
  <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
 </tr>
 <tr>
  <td>Anhang:</td>
  <td><input name="Anhang" size="20" type="file"></td>
 </tr>
 <tr>
  <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken">    <input name="Reset" type="reset" value="Löschen"></td>
 </tr>
</form>
</table>
<?php
}

?>
</body>
</html>

Was habe ich nur falsch gemacht?
 

Top_Gun

Aktives Mitglied

AW: PHP kontaktformular + Upload

Nein, deins ist eine HTML-Datei das sieht man an der .html-Endung. Ändere diese in .php dann sollte es klappen...
 

Doitsu

Aktives Mitglied

AW: PHP kontaktformular + Upload

Nein, deins ist eine HTML-Datei das sieht man an der .html-Endung. Ändere diese in .php dann sollte es klappen...
Was evtl. daran liegt, dass es nur die Seite ist, wo das Bild hochgeladen ist? :eek:
@ TE: Kannst du uns mal einen Link geben, die zur Seite fuehrt wo der Code drauf ist? Habe das ganze jetzt mal bei mir getestet, es geht ..
 

Hessix

Noch nicht viel geschrieben

AW: PHP kontaktformular + Upload

Hier kommt der code her:

Am Code zweifel ich auch wenig, hast du auf dem Webspace oder Server überhaupt die Möglichkeit solche Skripte zu nutzen?
Solche Formulare benötigen auch einen passenden Webspace, da sie sonst nichts machen können und zu solchen Fehlermeldungen führen.
 

Hessix

Noch nicht viel geschrieben

AW: PHP kontaktformular + Upload

das hat auch nichts mir php zu tun, sondern häüngt an perl/cgi Dingen. Mit dem php Skript startest du, soweit ich weiß nur die Funktion, verschickt wird es dann über ein perl oder cgi.
Bin mir momentan nicht ganz sicher welches es ist...

Edit: Ich hab keinen Bock da alles zu lesen, aber evtl. erlauben die auch nur eigene Formulare oder du mußt im Backend erst was aktivieren.
 

Top_Gun

Aktives Mitglied

AW: PHP kontaktformular + Upload

Manchmal frag ich mich warum ich hier im Forum noch versuche zu helfen, wenn sich immer wieder Leute einmischen die mit ihrem Halbwissen das Ruder an sich reißen und völlig falsche Wege aufweisen...
So macht das nicht im geringsten Spaß und kostet mehr Nerven als notwendig...

@TE: Wenn du schon auf den ganzen Scheiß hörst der hier gepostet wird, warum dann nicht auch auf das was dich weiterbringen würde?!

Speicher deinen Quelltext mit der Endung .php, lad die Datei hoch und ruf sie über nen Browser auf. Danach wirst du sehen, dass dein Webhoster PHP unterstützt (das steht nämlich außer Frage wenn man lesen kann) und wenn du beim Abtippen des Quelltextes keinen Fehler gemacht hast, sollte es auch funktionieren!


@r3nt5ch3r: Ich bezog mich im ersten Absatz nicht auf dich, das wollte ich explizit nochmal gesagt haben ;)
 
J

Jorsan

Guest

AW: PHP kontaktformular + Upload

Hallo habe einen Windows virtual server bei Host Europe und bei mir kommt die mail an aber ohne Inhalt. Das heißt der Dateianhang und die Nachricht sehe ich nicht in der E-Mail????
kann mir jemand helfen!!!
hier die ULR


<html>
<head>
<title>Kontaktformular inkl. Dateianhang mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "mail@jorsan.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];

$Trenner = md5(uniqid(time()));

$Header = "From: ".$_REQUEST['Email'];
$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 .= "Sie haben folgende Nachricht erhalten: \n\n";

while(list($Formularfeld, $Wert) = each($_REQUEST))
{
if($Formularfeld != "Send" && $Formularfeld != "Anhang")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}

$Header .= "\nDatum/Zeit: ";
$Header .= date("d.m.Y H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
$Header .= "\n";
$Header .= "--$Trenner--";

mail($Empfaenger, $Mailbetreff, "", $Header);
echo"Vielen Dank für Ihre eMail!";
}
}
else
{
?>
<table border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<tr>
<td>Name:</td>
<td><input name="Name" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
</tr>
<tr>
<td>Nachricht:</td>
<td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td>Anhang:</td>
<td><input name="Anhang" size="20" type="file"></td>
</tr>
<tr>
<td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
</tr>
</form>
</table>
<?php
}

?>
</body>
</html>

Danke im Voraus
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben