Top-Themen

Aktuelle Themen (A bis Z)

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, 6686 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

mfg

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 ..
Ähnliche Inhalte
Exchange Server
Probleme beim E-Mailversand
Beitrag von 8 Kommentare

Frage von padimonu zum Thema Exchange Server

Sicherheits-Tools
E-Mailversand wenn Programm steht
Beitrag von 19 Kommentare

Frage von neuling6 zum Thema Sicherheits-Tools

C und C++
C-sharp soll Datei von PHP speichern
Beitrag von 3 Kommentare

Frage von Yanmai zum Thema C und C

PHP
Große Files posten mit php
Beitrag von 7 Kommentare

Frage von it4baer zum Thema PHP

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Beitrag von 3 Kommentare

Anleitung von colinardo zum Thema MikroTik RouterOS

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Beitrag von

Information von BassFishFox zum Thema Sicherheit

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 5 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10