Entwickler-Ecke

Programmiersprachen (Server) - PHP Kontaktformular Fehler


storestore - So 14.08.11 15:56
Titel: PHP Kontaktformular Fehler
Hallo,
ich neu hier also weiß ich nicht ob es hier her gehört.
Es gibt schon ein paar Themen über php aber ich muss meinen eigenen code einfügen:

Also ich habe ein Kontakformular in php Programmiert. Wenn man auf senden geht dann soll ich die e-mail mit den entsprechenden daten bekomme. Aber das Problem ist das er mit "Name", "Produkt" und "Straße nich anzeigt. Ich bin echt verzweifelt :cry: :cry: :cry: . Ich saß gestern bis ungefährt 2.00 Uhr (Morgens) daran. Kann mir jemand vieleicht helfen. Hier ist 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:
<?php
/* Betreffen und Email Variable */
    $emailBetreff = 'Bestellung';
  $webmaster = 'storestore@web.de';
  
  
/* Emailforen Daten*/

  $nameFeld = $_POST['Name'];
  $nachname = $_POST['Nachname'];
  $email = $_POST['email'];
  $Ort = $_POST['Ort'];
  $PLZ = $_POST['PLZ'];
  $Starße = $_POST['Straße'];  
  $Hausnummer = $_POST['Hausnummer'];
  $Produkt = $_POST['Produkt'];
  $Produkt = $_POST['Produkt2'];
  $Produkt = $_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>
Straße: $Straße <br>
Hausnummer: $Hausnummer <br>
Produkt: $Produkt <br>
Produkt: $Produkt2 <br>
Produkt: $Produkt3 <br>
Notzi: $Notiz <br>
AGB: $AGB <br>
Datein:  $Datein <br>
EOD;

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


?>
[code]



Vielen DANK im voraus :wink:


mfg storestore


Moderiert von user profile iconChristian S.: Topic aus Off Topic verschoben am So 15.07.2012 um 12:49


Delete - So 14.08.11 16:11

Du hast die variable $Straße falsch geschrieben. Ich würde auch keine deutschen Sonderzeichen verwenden.

Und du hast drei Produkte, weißt sie aber einer Variablen zu:

Quelltext
1:
2:
3:
$Produkt = $_POST['Produkt'];
$Produkt = $_POST['Produkt2'];
$Produkt = $_POST['Produkt3'];

Wenn Produkt3 leer ist wird am Ende auch die Variable $Produkt leer sein.


jaenicke - So 14.08.11 16:55

Davon ganz abgesehen benutzt du die Parameter einfach ungeprüft und unmaskiert, womit du dir eine schöne Sicherheitslücke einbaust...


storestore - So 14.08.11 17:59

Hmmm, danke erst mal. Wie regele ich das mit den Parametern ???



mfg


jaenicke - So 14.08.11 18:00

Dafür gibt es entsprechende Funktionen wie htmlentities:
http://php.net/manual/de/function.htmlentities.php


storestore - So 14.08.11 18:06

Hallo, gute alles geändert (Außer Parameter) aber wie sieht es mit name (Vorname) aus wird immer nocht nicht angezeigt. Und bei Produkt zeigt er nur an wenn das erste angekreutzt ist .,.


jaenicke - So 14.08.11 19:03

user profile iconstorestore hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
3:
  $nameFeld = $_POST['Name'];
[...]
Name: $Name <br>


storestore - So 14.08.11 22:54

Auch schon geändert aber Produkt und name werden immer noch nicht angezeigt


jaenicke - So 14.08.11 23:02

Wie sieht denn der aktuelle Code aus?

Und wie wärs mit Debuggen? Mit Debugausgaben mit echo z.B., wenn du keine Lust hast einen echten Debugger einzurichten (ist auch nicht ganz trivial).


storestore - Mo 15.08.11 00:14

Debbuger hmmm ähh leider bin ich neu was heißt das denn

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:
<?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'];
  $Straße = $_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;

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


?>


jaenicke - Mo 15.08.11 00:47

Wo wird das denn abgeschickt? Kann es sein, dass du den Parameter Name dort aus Versehen groß statt wie in dem Code hier klein geschrieben hast?


storestore - Mo 15.08.11 00:58

Hallo,
nee alles geprüft alles gleich geschrieben


storestore - Mi 17.08.11 19:04

Ich habs danke an alle


Handycommander - So 11.09.11 17:10

Du weißt, wofür der .= Operator da ist??


XML-Daten
1:
2:
  $Produkt2 .= $_POST['Produkt2'];
  $Produkt3 .= $_POST['Produkt3'];


storestore - So 11.09.11 20:47

user profile iconHandycommander hat folgendes geschrieben Zum zitierten Posting springen:
Du weißt, wofür der .= Operator da ist??


XML-Daten
1:
2:
  $Produkt2 .= $_POST['Produkt2'];
  $Produkt3 .= $_POST['Produkt3'];

Hi,
hmm das Thema ist schon lange abgeschlossen. Aber trotzdem gebe ich es zu: Ich weiß es nicht. Wozu dient er den *Zu faul sei um zu googlen* :mrgreen:
mfg storestore


BenBE - Mo 12.09.11 00:36

Siehe hier: http://de2.php.net/manual/de/language.operators.php


storestore - Mo 12.09.11 13:41

Ok, danke