Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator masterG am 25.01.2010 um 14:00:23 Uhr
Ich hab deinen Thread etwas formartiert. Stichwort: Formatierungshilfe ;)

Datei Upload mit E-Mailversand via PHP

Frage Entwicklung PHP

Mitglied: nofler

nofler (Level 1) - Jetzt verbinden

25.01.2010, aktualisiert 14:00 Uhr, 6436 Aufrufe, 4 Kommentare

hallo,

ich möchte gern ein formular (das ich schon erstellt habe) mit einem datei upload. die email die ich von dem ausgefüllten formular bekomme soll die upgeloadete datei beinhalten!

paar sachen zu meienr page


Bild

in der seite informationsmaterial.html ist das eigentliche formular mit einer abfrage ob die felder ausgefüllt sind:
01.
<script language="JavaScript" type="text/javascript" > 
02.
<!--  
03.
 
04.
function chkinformationsmaterial_formular () { 
05.
 
06.
if (document.informationsmaterial_formular.Firma.value == "") { 
07.
alert("Bitte Ihren Firmenname eingeben!"); 
08.
document.informationsmaterial_formular.Firma.focus(); 
09.
return false; 
10.
11.
</script>
und auf dem button senden ist hinterlegt:

informationsmaterial_mail.php "onSubmit="return chkinformationsmaterial_formular()" onReset="return ResetCheck()

BILD

nach dem ausfüllen und klicken auf senden wird man weitergeleitet auf informationsmaterial_mail.php mit folgendem script:
01.
<?php 
02.
 
03.
$Datei = 'informationsmaterial.txt';  
04.
$Nummer = file_get_contents($Datei) + 1;  
05.
file_put_contents($Datei, $Nummer);  
06.
 
07.
 
08.
$admin= 'webmaster@spaeh.de'; 
09.
$admin1= 'marketing@spaeh.de'; 
10.
 
11.
//   1. Message an den Administrator 
12.
 
13.
$subject1= 'Informationsmaterial Anfrage von: '.$Firma.' ['.$Nummer.']';  
14.
 
15.
$message1.= "\n"
16.
$message1.= 'Firma:'."\n".$Firma."\n\n"
17.
$message1.= 'Name: '."\n".$Anrede.' '.$Name."\n\n"
18.
$message1.= 'Abteilung: '."\n".$Abteilung."\n\n"
19.
$message1.= 'Adresse: '."\n".$Straße."\n".$PLZ.' '.$Ort."\n".$Land."\n\n"
20.
$message1.= 'Telefon: '."\n".$Telefon."\n"
21.
$message1.= 'Fax: '."\n".$Fax."\n"
22.
$message1.= 'Mail: '."\n".$E-Mail."\n\n"
23.
$message1.= 'unsere Branche: '."\n".$unsereBranche."\n"
24.
$message1.= 'unsere Produkte: '."\n".$unsereProdukte."\n\n"
25.
$message1.= 'Wir sind: '."\n".$Wirsind."\n\n"
26.
$message1.= 'SPÄH-Kunde: '."\n".$SPÄHKunde."\n"
27.
$message1.= 'Kundennummer: '."\n".$Kundennummer."\n\n"
28.
$message1.= 'Broschüre Unternehmensgruppe: '."\n".$UnternehmensgruppeBroschüre."\n\n"
29.
$message1.= 'Dichtungen und Stanzteile: '.$DichtungenundStanzteile."\n"
30.
$message1.= 'Dreh- und Frästeile: '.$DrehundFrästeile."\n"
31.
$message1.= 'Gieß- und Formteile: '.$GießundFormteile."\n"
32.
$message1.= 'Wasserstrahlgeschnittene Teile: '.$WasserstrahlgeschnitteneTeile."\n"
33.
$message1.= 'Sonderteile Dichtungstechnik: '.$SonderteileDichutngstechnik."\n"
34.
$message1.= 'Halbzeuge-Programm: '.$HalbzeugeProgramm."\n\n"
35.
$message1.= 'telefonische Kontaktaufnahme: '.$telefonischeKontaktaufnahme."\n"
36.
$message1.= 'Neuerungen per E-Mail: '.$NeuerungenMail."\n"
37.
$message1.= 'Neuerungen per Fax: '.$NeuerungenFax."\n\n"
38.
$message1.= 'technisches Datenblatt: '.$technischesDatenblatt."\n"
39.
$message1.= 'kostenloses Muster: '.$kostenlosesMuster."\n\n"
40.
$message1.= 'Sonstige Fragen und Kommentare: '."\n".$FragenKommentare."\n\n"
41.
  
42.
// bitte unbedingt Serveradresse anpassen 
43.
 
44.
 $message1.= 'Server:  '.'www.spaeh.de'; 
45.
  
46.
 
47.
// eigentlicher Mailversandt 
48.
 
49.
mail($admin, $subject1, $message1, "From: $E-Mail"); 
50.
mail($admin1, $subject1, $message1, "From: $E-Mail"); 
51.
 
52.
 ?> 
53.
 
01.
<meta http-equiv="refresh" content="5; URL=http://www.spaeh.de/SPAEH/html/informationsmaterial_danke.html">
die seite dazu sieht wie folgt aus:


Bild
nach 5 sekunden wird dann weitergeleitet auf die informationsmaterial_danke.html.

das script etc. funktioniert soweit und emails kommen auch an. meine frage ist nun ob es möglich ist diese struktur und script leicht umzubauen das ich im formular ein datei upload eingebaut bekomme?
was ich dazu noch machen möchte ist das die upgeloadetet datei bei dem versand an der email als seperate email oder was besser wäre im formular mitgeschickt wird.

ich hoffe ihr könnt mir helfen und verzichtet auf post wie selfhtml etc… ich kenn mich zwar ein bisschen mit php aus aber das übersteigt alles XD

Mit freundlichen Grüßen

steffen
Mitglied: datasearch
25.01.2010 um 15:42 Uhr
Hallo Steffen,

Um einen Upload zu realisieren, brauchst du ein Eingabefeld vom Typ "file".

01.
<form name="upload" action="upload.php" method="POST"> 
02.
 <input type="file" name="upload" /> 
03.
</form>
Der Server speichert die Datei in einem Temporären Ordner auf dem Server. Den Dateinamen kannst du hier aus dem Array _FILE auslesen und die Datei mit der Funktion move_uploaded_file() verschieben.

01.
$ziel="./uploads" 
02.
move_uploaded_file($_FILE['upload']['tmp_name'],$ziel)
Nun kannst du die Datei per Mail verschicken und anschließend wieder löschen.
Das geht, indem du die Datei base64 codierst und als Multipart an den Nachrichtentext anhängst. Wie genau das geht, kannst du hier nachlesen (inkl. Democode).
Bitte warten ..
Mitglied: dog
25.01.2010 um 22:58 Uhr
Um einen Upload zu realisieren, brauchst du ein Eingabefeld vom Typ "file".

Nicht nur...

01.
<form action="upload.php" method="post" enctype="multipart/form-data">
$message1.= 'Firma:'."\n".$Firma."\n\n";

Sehe ich hier etwa register_globals?
Aaaaaaaaahhhhh *schreiend wegrenn*
Bitte warten ..
Mitglied: datasearch
25.01.2010 um 23:10 Uhr
Sehe ich hier etwa register_globals?
Tatsächlich. Was du nicht alles siehst. Naja, da kann auf eine Prüfung des Uploads ja auch verzichtet werden

Bitte überprüfe dein Script und schreibe dein Script nach aktuellen Standards um. Übergebene Variablen findest um im Array $_POST, $_GET, $_SERVER usw. Bitte passe dein Script an und deaktiviere so schnell wie möglich register_globals in deiner php.ini. Für den Anfang kannst du die Variablen am Anfang des Scripts mit den Werten aus dem entsprechendem Array belegen.

z.B.
$Firma=$_POST['Firma'];
...

Zudem solltest du dir auf jeden Fall etwas überlegen, um unerwünschte Dateien nach dem Upload zu filtern. Auf der Website macht das wenig Sinn, da man den POST-Request auch direkt schicken kann.

Dog, nicht gleich wegrennen, irgendwann lernt jeder mal.
Bitte warten ..
Mitglied: nofler
26.01.2010 um 10:18 Uhr
was bewirkt das register_globals off?

kann mir wer eine vorgabe geben wie ich z.b. die firma in meinem formular get und wieder set?
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...