• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einige Probleme mit Kontaktformular

Status
Für weitere Antworten geschlossen.

.wired

Neues Mitglied
Hi, ich habe ein Kontaktformular gebaut, was an sich soweit funktioniert. Allerdings hat es zwei Schönheitsfehler, die mich zum verzweifeln bringen.
Erstens: Wie kann ich die Absenderadresse des Hosters ändern?? (Standard ist "me@localhost", aber manche Hoster haben es in sonst was umbenannt. Muss wohl irgendwie im <form> Tag angegeben werden, denk ich mal. weiß aber nicht genau, wie. Wäre nett, wenn ihr mir helfen könntet.
Zweitens: Irgendwas stimmt im Quellcode nicht. Ich habe das Formular so gemacht, dass es nach dem Verschicken nochmal angezeigt wird (Also ich meine, was der User eingegeben hat. Elena Beresnjak | Kontakt Allerdings wird alles mit einem Punkt davor wiedergegeben!! Da ihr keine Hellseher seid :P poste ich den Quellcode einmal...:
Code:
<?
$fehler = "";
$nz = chr(13).chr(10);
$name = $_POST['name'];
$adresse = $_POST['adresse'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
if (empty($name)) $fehler .= "<li>Bitte geben Sie Ihren Namen ein.</li>";
if (empty($adresse)) $fehler .= "<li>Bitte geben Sie Ihre eMail-Adresse an.</li>";
if (empty($betreff)) $fehler .= "<li>Bitte geben Sie einen Betreff an.</li>";
if (empty($nachricht)) $fehler .= "<li>Bitte geben Sie Ihre Nachricht ein</li>";
if (empty($fehler)) 
{
$an = "[email protected]";
$from = "Von: Kontaktformular <[email protected]>";
$datum = "Datum: ".date("j.n.Y.").$nz;
$zeit = "Zeit:  ".date("H:i").$nz;
$von = "Von:   ".$name." <".$adresse.">".$nz;
$linie = "------------------------------------------------------------" .$nz;
$text = "$datum.$zeit.$von.$linie.$nachricht";
$titel = "Elena Beresnjak | Kontakt: Ihre Nachricht wurde abgeschickt!";
mail($an,$betreff,$text,$from); 
}
else $titel = "Elena Beresnjak | Kontakt: Fehler im Formular!";
?>

Und dann weiter unten bei der Ausgabe:
Code:
<?
if (empty($fehler)) {
$text = strip_tags($text);
$text = htmlentities($text);
$text = str_replace($nz,"<br>",$text);
echo "<p>Vielen Dank für die Kontaktaufnahme! Ihre Nachricht wurde erfolgreich abgeschickt! Wir antworten Ihnen so schnell es irgend möglich ist!</p>";
echo "<p>$text</p>"; }
else {
echo "<p>Ihre Nachricht konnte nicht verschickt werden! Folgende Fehler sind aufgetreten:";
echo "<ul>$fehler</ul>";
echo "</p>"; }
?>

Hoffe, ihr könnt mir helfen.

MfG .wired
 
Hmm... Ja danke, ich hab deine Antwort ein wenig unaufmerksam durchgelesen, also dank, erstes Problem behoben :) ...
Aber wie krieg ich die Punkte vor den Variablen weg?? Also bei der Textausgabe??

MfG .wired
 
Zuletzt bearbeitet:
Naja, nachdem das Kontaktformular abgeschickt ist, wird das Geschriebene noch einmal angezeigt. Dabei hat alles einen Punkt davor:

Datum: 27.8.2007.
.Zeit: 11:34
.Von: Testname Testname
.------------------------------------------------------------
.Ich teste zum Test des Testes den Test.
 
ich weiß zwar nicht ob es daran liegt, aber ersetz' mal alle anführungszeichen durch einfache hochkommata (') (und richtiges escapen nicht vergessen), dann sollte es gehen.

Nils aka XraYSoLo
 
Wann fangt ihr eig mal an richtig lesen zu lernen? Das sind verdammte einfachste Grundlagen eines Tutorials
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben