PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseite Kontaktformular, Hilfe


TimeOut
2013-01-23, 17:47:26
Hallo ich hab meine Webseite auf ein bestehendes Template aufgebaut.
Dabei war auch schon ein Kontaktformular eingebaut.
Allerdings nur mit dem Code es darzustellen bzw. auszufüllen. Ich hab dann ein ganz gutes Tutorial gefunden das sich damit beschäftigt das das ganze auch funktioniert.
Ich hab diesen php Code dann versucht auf mein Formular zuzuschneiden.

Leider kommt dann beim abschicken, Seite nicht gefunden blabla

So sieht der Code fürs Formular aus.

<form action="="kontakt.php" method="post">
<p><input type="text" name="name" value="Your Name" id="name" onblur="if (this.value == ''){this.value = 'Your Name'; }" onfocus="if (this.value == 'Your Name') {this.value = '';}" /></p>
<p><input type="text" name="email" value="Your Email" id="email" onblur="if (this.value == ''){this.value = 'Your Email'; }" onfocus="if (this.value == 'Your Email') {this.value = '';}" /></p>
<p><input type="text" name="url" value="Your Site" id="url" onblur="if (this.value == ''){this.value = 'Your Site'; }" onfocus="if (this.value == 'Your Site') {this.value = '';}" /></p>
<p><textarea cols="20" rows="7" name="message" id="message" onblur="if (this.value == ''){this.value = 'Your Message'; }" onfocus="if (this.value == 'Your Message') {this.value = '';}" >Your Message</textarea></p>
<p><input type="submit" name="submit" value="Send Message" class="button" /></p>
</form>

Und so für die Aktion das man eine Nachricht kriegt.
<?php
$Empfaenger = "stefan457353@gmx.de";
?>

<html>
<head>
</head>
<body>
<?php

if($_REQUEST['submit']){
if(empty($_REQUEST['name']) || empty($_REQUEST['email'])
|| empty($_REQUEST['text']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">
zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus";
}
else{
$Mailnachricht="Sie haben eine Anfrage über ihr Kontaktformular erhalten:\n";
$Mailnachricht .= "Name: ".$_REQUEST['name']."\n".
"E-Mail: ".$_REQUEST['email']."\n".
"Betreff: ".$_REQUEST['betreff']."\n".
"Datum: ".date("d.m.Y H:i")."\n".
"\n\n".$_REQUEST['text']."\n";

$Mailbetreff = "Kontakt: ".$_REQUEST['betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: "
.$_REQUEST['email']);
echo "Wir haben Ihre Anfrage erhalten und werden sie so schnell wie möglich bearbeiten. <br>
<a href=\"javascript:history.back();\">Zur&uuml;ck</a>";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Hier können Sie eine <a href=\"index.html\">Anfrage</a> an uns senden.";
}
?>
</body>
</html>

sei laut
2013-01-23, 20:47:35
<form action="="kontakt.php" method="post">
Das kann auch nicht gehen.
so -> <form action="kontakt.php" method="post">

TimeOut
2013-01-23, 22:05:29
Ups das muss ich übersehen haben.
Dafür kommt jetzt immer:  Bitte gehen Sie zurück und füllen Sie alle Felder aus

Mr_Karlo
2013-01-24, 08:42:59
Ups das muss ich übersehen haben.
Dafür kommt jetzt immer:  Bitte gehen Sie zurück und füllen Sie alle Felder aus


Die Meldung ist auch korrekt da in deinem Beispielt $_REQUEST['text'] vermutlich immer empty ist :wink:

Versuche mal alle $_REQUEST['text'] durch $_REQUEST['message'] zu ersetzen. Das ist der Name der textarea in deinem Formular.

TimeOut
2013-01-25, 14:26:37
Ok soweit so gut, email kommt auch an.

Allerdings bringt der zusätzlich jedes mal die Meldung:

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /var/www/web725/html/kontakt.php on line 23

:freak:

sei laut
2013-01-25, 15:21:26
Du nutzt date, hast aber keine Zeitzone gesetzt. (wie der Fehler schon sagt)
http://php.net/manual/de/function.date-default-timezone-set.php

TimeOut
2013-01-25, 16:50:14
Ich hab das jetzt nach dem Beispiel gemacht, und Berlin/Germany eingetragen.
Trotzdem meint er das die "Script timezone differs from ini-set timezone" ist.

sei laut
2013-01-25, 16:58:53
Willst du dir nicht vielleicht doch etwas PHP aneignen?
date_default_timezone_set('Europe/Berlin');
Das sollte reichen, der Rest ist nur, um den Wert in der php.ini zu prüfen.

maximum
2013-01-26, 00:36:05
Ansonsten tuts:

error_reporting(0);

auch

:redface:

sei laut
2013-01-26, 10:27:22
Hey, bring ihm nicht die schmutzigen Tricks bei. Irgendwann meckert er dann, warum sein Script wieder nicht geht und er keinen Fehler angezeigt bekommt.

maximum
2013-01-26, 21:07:49
Hey, bring ihm nicht die schmutzigen Tricks bei. Irgendwann meckert er dann, warum sein Script wieder nicht geht und er keinen Fehler angezeigt bekommt.

In dem Fall einfach ein @ vor den einzelnen Befehl setzen. Dann bleiben alle anderen Fehlermeldungen/Warnungen erhalten :D

P.S. NATÜRLICH ist das nur kaschieren und man sollte es nicht machen. :tongue: