mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 13:48 Benutzername: Passwort: Auto-Login

Thema: PHP-Kontaktformular-Hilfe! vom 21.07.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP-Kontaktformular-Hilfe!
Seite: 1, 2, 3  Weiter
Autor Nachricht
ChouGood
Threadersteller

Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.07.2009 08:14
Titel

PHP-Kontaktformular-Hilfe!

Antworten mit Zitat Zum Seitenanfang

HI...

Kann mir jemand sagen warum man immer auf der auswerten.php herauskommt, wenn man auf abschicken drückt?
Man müsste doch eigentlich die danke.html angezeigt bekommen.

Kann mir netter weiser jemand weiter helfen?

DANKE SCHONMAL!


hier der code...
html-site_____________________

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<table border="0" cellpadding="1" cellspacing="2">
<form action="auswerten.php" method="post">
<tr>
<td width="62">Name:</td>
<td width="141"><input name="Name" size="20" type="text"></td>
<td width="50">Telefon:</td>

<td width="120"><input name="Telefon" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
<td>Stadt:</td>
<td><input name="Stadt" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>

<td><input name="Betreff" size="20" type="text"></td>
<td colspan="2"></td>
</tr>
<tr>
<td>Nachricht:</td>
<td colspan="3"><textarea cols="50" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td align="left" colspan="4"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>

</tr>
</form>
</table>
</body>
</html>




auswerten.php_____________________

<?php
$Empfaenger = "xxxxxxxx@gmx.de";
if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])))
{
header("location:bitte.html");
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontaktformular ";
mail($Empfaenger, $Mailbetreff, $Mailnachricht);
header("location:danke.html");
}
}
else
{
header("location:danke.html");
}
?>
  View user's profile Private Nachricht senden
Snifferdog

Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht: Männlich
Verfasst Di 21.07.2009 08:31
Titel

Antworten mit Zitat Zum Seitenanfang

Ohne jetzt groß drüber zugucken.
Hast du deine Fehlermeldungen bei PHP deaktiviert?
Wenn ja schalte sie mal an. Könnte sein, dass der Header schon gesendet ist bis du zu dem Punkt kommst wo weitergeleitet werden soll. Dann passiert da natürlich nix mehr.

Gruß

Edit: Und du solltest dich mal mit der Sicherheit von PHP Formularen beschäftigen.


Zuletzt bearbeitet von Snifferdog am Di 21.07.2009 08:32, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Di 21.07.2009 08:38
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])))


->

Code:
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff']))


da ist schon mal ne klammer zu viel.


€:

noch mal nachgesehen - header:location erwartet eine absolute url.
versuch's mal so:
Code:
<?php
   $Empfaenger = "xxxx@xxx.de";
   $absoluteURL = str_ireplace('absenden.php','',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
   
   if($_REQUEST['Send']) {
      if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])) {
         header("location:" . $absoluteURL . "bitte.html");
      } else {
         $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
         while(list($Formularfeld, $Wert)=each($_REQUEST)) {
            if($Formularfeld!="Send") {
               $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
            }
         }
   
         $Mailnachricht .= "\nDatum/Zeit: ";
         $Mailnachricht .= date("d.m.Y H:i:s");
         $Mailbetreff = "Kontaktformular ";
         mail($Empfaenger, $Mailbetreff, $Mailnachricht);
         header("location:" . $absoluteURL . "danke.html");
      }
   } else {
      header("location:" . $absoluteURL . "danke.html");    
   }
?>


Zuletzt bearbeitet von sahnemuh am Di 21.07.2009 09:00, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
ChouGood
Threadersteller

Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.07.2009 09:17
Titel

Antworten mit Zitat Zum Seitenanfang

schonmal vielen Dank...

was mach ich mit "absenden.php" diese datei habe ich garnicht!?
was genau muss ich ersetzen?

sorry bin echt neu was php angeht!

vieieieieielen Dank!!!
  View user's profile Private Nachricht senden
Kash

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Di 21.07.2009 09:28
Titel

Antworten mit Zitat Zum Seitenanfang

absenden.php wertet die formulareingaben aus und versendet diese per Mail und leitet dich auf danke.html weiter bei erfolgreichem mailversandt

ist das PHP Script bei dir im Formularfile selbst?


Zuletzt bearbeitet von Kash am Di 21.07.2009 09:29, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Di 21.07.2009 09:34
Titel

Antworten mit Zitat Zum Seitenanfang

hups.

auswerten.php sollte es natürlich heißen.
my bad!

@kash:
nein, s.o. er hat das formular in einer html und die verarbeitung in einer seperaten (auswerten.php) datei.



€:
hier also noch mal komplett:

hups.

auswerten.php sollte es natürlich heißen.
my bad!

@kash:
nein, s.o. er hat das formular in einer html und die verarbeitung in einer seperaten (auswerten.php) datei.



€:
hier also noch mal komplett:

HTML
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<table border="0" cellpadding="1" cellspacing="2">
<form action="auswerten.php" method="post">
<tr>
<td width="62">Name:</td>
<td width="141"><input name="Name" size="20" type="text"></td>
<td width="50">Telefon:</td>

<td width="120"><input name="Telefon" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
<td>Stadt:</td>
<td><input name="Stadt" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>

<td><input name="Betreff" size="20" type="text"></td>
<td colspan="2"></td>
</tr>
<tr>
<td>Nachricht:</td>
<td colspan="3"><textarea cols="50" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td align="left" colspan="4"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>

</tr>
</form>
</table>
</body>
</html>


auswerten.php
Code:

<?php
   $Empfaenger = "xxxx@xxx.de";
   $absoluteURL = str_ireplace('auswerten.php','',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
   
   if($_REQUEST['Send']) {
      if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])) {
         header("location:" . $absoluteURL . "bitte.html");
      } else {
         $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
         while(list($Formularfeld, $Wert)=each($_REQUEST)) {
            if($Formularfeld!="Send") {
               $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
            }
         }
   
         $Mailnachricht .= "\nDatum/Zeit: ";
         $Mailnachricht .= date("d.m.Y H:i:s");
         $Mailbetreff = "Kontaktformular ";
         mail($Empfaenger, $Mailbetreff, $Mailnachricht);
         header("location:" . $absoluteURL . "danke.html");
      }
   } else {
      header("location:" . $absoluteURL . "danke.html");   
   }
?>
[/code]

Zuletzt bearbeitet von sahnemuh am Di 21.07.2009 09:39, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
ChouGood
Threadersteller

Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.07.2009 09:36
Titel

Antworten mit Zitat Zum Seitenanfang

Also,

ich habe 2 Dateien:
- zum einen die Kontakt.html
- und zum anderen die auswerten.php

was genau muss ich jetzt in die absenden.php eintragen und welche Teile der auswerten.php werden ersetzt...

Danke!?
  View user's profile Private Nachricht senden
ChouGood
Threadersteller

Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.07.2009 09:41
Titel

Antworten mit Zitat Zum Seitenanfang

hi nochmal...

wenn ich die Nachricht jetzt abschicke, spuckt er mir eine komische url aus. komisch weil doppelt. ca. so:
http://www.xxx.de/123test123/www.xxx.de/123test123/danke.html

geht dann natürlich nicht :(

was muss ich in der auswerten.php ersetzen. Könnte mir jemand ein Beispiel geben?

DANKDANKEDANKE!!!!
  View user's profile Private Nachricht senden
 
Ähnliche Themen Kontaktformular mit PHP
Kontaktformular im IE
PHP Kontaktformular
PHP Kontaktformular
Kontaktformular
PHP-Kontaktformular
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.