henf: Kontaktformular versenden

Beitrag lesen

servus neicooo,

Ich hab keine ahnung wovon ihr da redet.

Stichwort Kontextwechsel. Du musst die Werte von Variablen so anpassen, dass sie der Umgebung, in die sie kommen, keinen Mist mehr anstellen können.
Willst du zum Beispiel keine Mail versenden, sondern die Daten in einer DB speichern, musst du die Daten vorher mit entsprechenden Methoden/Funktionen bearbeiten. Sonst schreibt dir einer folgende Nachricht: "DROP TABLE user" (vereinfacht)
Deine Tabelle user, sollte sie existieren, ist dann weg.
Auch beim Mail-Versand musst du die Variablen prüfen. Willst du mehr wissen?
Lies diesen Artikel zu Kontextwechsel

Ich habe jedenfalls noch ein Problem.

<?php

$text = $_POST[name]."\n".$_POST[nachricht]."\n".$_POST[email]."\n".;
mail("neicooo@web.de","Nachricht von $_POST[name]",$text);
?>

  
Zunächst: Achte darauf, Keys mit Anführungszeichen zu benutzen. `$_POST[name]`{:.language-php} mag zwar jetzt genau das beinhalten, was du willst, solltest du aber jemals eine Konstante "name" in deinen Code einfügen, gilt der Wert und nicht der Name der Konstante. Außerdem gibt es von PHP ein Notice, dass du eine nicht definierte Konstante benutzt.  
Benutze also `$_POST["name"]`{:.language-php} etc.  
  

> Ich würde gerne vor den einzelnen Variablen (name, nachricht, email) in der E-Mail noch eine Beschreibung der Variable haben.  
>   
> Sprich in der E-Mail soll der Inhalt so zu sehen sein:  
>   
> Name: Variable Name  
> E-Mail: Variable E-Mail  
> Nachricht: Variable Nachricht  
>   
> Wie genau muss ich das in den code einfügen, damit es später in meiner E-Mail zu sehen ist?  
  
Trag es in die Variable $text ein.  
`$text = "Name: " . $_POST["name"] . "\n" . "E-Mail: " . $_POST["email"]; // und so weiter`{:.language-php}  
  
mit `"\n"`{:.language-php} erzeugst du einen Zeilenumbruch. Du kannst `"\n"`{:.language-php} und `"E-Mail"`{:.language-php} auch in einem String schreiben: `"\nE-Mail"`{:.language-php}, der Übersicht (und des Verständnisses) halber habe ich sie aber getrennt.  
  
[Zeichenkettenoperatoren](http://php.net/manual/de/language.operators.string.php)  
[Escaped characters](http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.double)  
  
henf

-- 
Life is hard, right?  
No, life is easy! YOU suck!