online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Petra65 vom 10.01.2022, 10:37 Options

Lösung

Fehler im Kontaktformular

Hallo, guten Morgen,

ich möchte auf einer HP ein Kontaktformular einbauen, diese HP läuft über Web.de, und lt. diesem wird php4 und php5 unterstützt - es sollte also funktionieren.

Doch leider erhalte ich die Fehlermeldung Error404.

Der Code sieht folgendermassen aus:
<?php
### Konfiguration Feedback-Formular###
$strEmpfaenger = 'termin@....de';
$strSubject = 'Feedback über www.....de';
$strReturnhtml = 'http://www....de/kontakt_2.html';
$strDelimiter = ":\t";
### Ende Konfiguration ###

if($_POST) {
$strMailtext = "";
while(list($strName,$value) = each($_POST)) {
if(is_array($value)) {
foreach($value as $value_array) {
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else {
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc()) {
$strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>....</title>
</head>
<body>
...
...
<h2>Kontaktformular</h2>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<table id="tableLi" style="margin-left:50px;">
<tr>
<td>Name:</td>
<td><input type="text" name="Absender" /></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input type="text" name="Telefon" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="E-Mail" /></td>
</tr>
<tr>
<td colspan="2" align="left" valign="middle">
<b>Grund des Terminwunsches</b><br>
<input name="box1[]" type="checkbox">&nbsp; Box 1 *<br>
<input name="box2[]" type="checkbox">&nbsp; Box 2 *<br>
<input name="box3[]" type="checkbox">&nbsp; Box 3 *<br>
<input name="Sonstiges[]" type="checkbox">&nbsp; Sonstiges (bitte unten näher erläutern)
</td>
</tr>
<tr>
<td colspan="2">Bemerkungen:</td>
</tr>
<tr>
<td colspan="2">
<textarea name="Bemerkungen" rows="10" cols="50">Bemerkungen</textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</td>
</tr>
<tr>
<td colspan="2" style="font-size:11px">
Text
</td>
</tr>
</table>
</form>
...

Beim erstellen der Datei habe ich mich an SelfHtml orientiert (http://aktuell.de.selfhtml.org/artikel/php/form-mail/)

Noch ein Problem ist, dass die Seite optisch nicht korrekt dargestellt wird, liegt das daran, dass das php ganz am Anfang steht ??
Aber lt. SelfHtml muss es so sein:
Vor dem Aufruf der Funktion header() darf das Script nichts ausgegeben haben ..., weil ansonsten ein Fehler erzeugt wird. Das bedeutet auch, dass vor dem PHP-Code kein HTML-Code sowie keine Leerzeichen und Leerzeilen stehen dürfen. <?php muss also direkt am Dateianfang stehen.

Kann mir jemand sagen warum es nicht funktioniert ???

Vielen Dank und viele Grüße
Petra


Antwort schreiben

Antwort 1 von gast42 vom 10.01.2022, 11:05 OptionsLösung

Lösung
Welche Endung hat die Datei? Wird diese Endung auf deinem Server automatisch als PHP-Datei erkannt?

Antwort 2 von Petra65 vom 10.01.2022, 11:58 Options

Hallo,

ups ... wenn ich die seite in .php umbenenne funktioniert es auch.

Was allerdings nicht klappt, ist der Aufruf der seite kontakt_2.html
$strReturnhtml = 'http://www....de/kontakt_2.html';
Muss das auch eine php-seite sein?

Auch wird die absender-mail-adresse nicht überprüft (auf Gültigkeit), sollte ich wohl noch ändern.

Gruss - Petra

Antwort 3 von gast42 vom 10.01.2022, 12:53 Options

Zitat:
wenn ich die seite in .php umbenenne funktioniert es auch
so war meine Vermutung


Zitat:
$strReturnhtml ... Muss das auch eine php-seite sein?
nein! Wenn die Seite existiert sollte es da eigentlich keine Probleme geben.

Antwort 4 von Petra65 vom 11.01.2022, 21:51 Options

Hallo,

wird über das Formular eine Mail verschickt, so kommt diese einwandfrei an - das einzige was nicht funktioniert ist der Aufruf der Seite Kontakt_2.html ($strReturnhtml = 'http://www....de/kontakt_2.html';) - ist da doch noch irgendein Fehler drin ???
Die Seite existiert und ist hochgeladen !!

Kann eine Info-Meldung evtl. auch mit dem Befehl echo ausgegeben werden?? Ich habe diverse Seiten im Internet durchforstet und diesen Befehl dort mehrfach gefunden - leider kann ich diesen nicht umsetzen ;-(

Viele Grüße - Petra

Antwort 5 von supporter2010 vom 12.01.2022, 00:46 Options

Je nachdem wie Dein Webserver konfiguriert ist, könnte Gross- und Kleinschreibung relevant sein...(Kontakt_2.html vs. kontakt_2.html). In Deinem Code ist es kleingeschrieben...

Antwort 6 von supporter2010 vom 12.01.2022, 00:57 Options

zu echo:

<?php

echo $strReturnhtml;

?>

<?php

$eintext= "Hier steht Text";

echo $eintext;

echo "<br/>Noch ein Text";

?>

<?="<br/>echo-text, aber verk&uuml;rzt"; ?>

Antwort 7 von gast42 vom 12.01.2022, 06:45 Options

probier dies:

<?php
### Konfiguration Feedback-Formular###
$strEmpfaenger = 'termin@....de';
$strSubject = 'Feedback über www.....de';
$strReturnhtml = 'http://www....de/kontakt_2.html';
$strDelimiter = ":\t";
### Ende Konfiguration ###

if($_POST) {
$strMailtext = "";
while(list($strName,$value) = each($_POST)) {
if(is_array($value)) {
foreach($value as $value_array) {
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else {
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc()) {
$strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
echo '<html><body>Mail erfolgreich versendet</body></html>';
}
else: ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
...



<?php endif; ?>  

hier sollte der 2. HTML-Teil nur ausgeführt werden, wenn keine Daten vorliegen, sonst der verkürzte erste.

Antwort 8 von Petra65 vom 12.01.2022, 07:22 Options

Guten Morgen,

ich erhalte folgende Meldung:
Zitat:
Parse error: syntax error, unexpected ':' in /homepages/17/d194031856/htdocs/test4.php on line 29


Line 29 ist: else: ?>

.... muss nun leider arbeiten fahren - kann mich erst heute abend nochmals melden ...

Viele Grüße

Petra

Antwort 9 von Petra65 vom 12.01.2022, 20:13 Options

Hallo,

also - irgendwo ist der "Wurm" drin .... die Verlinkung auf kontakt_2.html (muss übrigens kleingeschrieben werden), und auch der Code aus Antwort 7 funktionieren nicht ....

Nach Absenden kommt einfach eine leere Seite, bzw. oben stehende Fehlermeldung ...

Hat jemand noch eine Idee ???

Gruss - Petra

Antwort 10 von supporter2010 vom 13.01.2022, 01:35 Options

3 Dateien im gleichen Verzeichnis:

1. test2.php (heisst bei mir so, kann aber jeden anderen Namen bekommen)
2. kontakt_2.html (wie du es verwendest)
3. kontakt_2.php (hat mehr Möglchkeiten als kontakt_2.html)


zu 1: test2.php

Zitat:

<?php
### Konfiguration Feedback-Formular###
$strEmpfaenger = 'test@localhost';
$strSubject = 'Feedback über www.....de';
/* $strReturnhtml = 'http://www....de/kontakt_2.html'; */
$strDelimiter = ":\t";
### Ende Konfiguration ###

if($_POST) {
$strMailtext = "";
while(list($strName,$value) = each($_POST)) {
if(is_array($value)) {
foreach($value as $value_array) {
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else {
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc()) {
$strMailtext = stripslashes($strMailtext);
}
if (mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)){
 echo"<h3>Irgendeine &Uuml;berschrift mit 'echo' kann auch mehr text sein, siehe code </h3>";
 echo"<br/>oder<br/>";
 include "kontakt_2.html";
 echo"<br/><br/>oder";
 include "kontakt_2.php";
 
 }
//or die("Die Mail konnte nicht versendet werden.");
else{echo "Die Mail konnte nicht versendet werden.";}
//header("Location: $strReturnhtml");
exit; 
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>....</title>
</head>
<body>
 
<h2>Kontaktformular</h2>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<table id="tableLi" style="margin-left:50px;">
<tr>
<td>Name:</td>
<td><input type="text" name="Absender" /></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input type="text" name="Telefon" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="Email" /></td>
</tr>
<tr>
<td colspan="2" align="left" valign="middle">
<b>Grund des Terminwunsches</b><br>
<input name="box1[]" type="checkbox">&nbsp; Box 1 *<br>
<input name="box2[]" type="checkbox">&nbsp; Box 2 *<br>
<input name="box3[]" type="checkbox">&nbsp; Box 3 *<br>
<input name="Sonstiges[]" type="checkbox">&nbsp; Sonstiges (bitte unten näher erläutern)
</td>
</tr>
<tr>
<td colspan="2">Bemerkungen:</td>
</tr>
<tr>
<td colspan="2">
<textarea name="Bemerkungen" rows="10" cols="50">Bemerkungen</textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</td>
</tr>
<tr>
<td colspan="2" style="font-size:11px">
Text
</td>
</tr>
</table>
</form>

</body>
</html>



zu 2: kontakt_2.html

Zitat:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head> </head>
<body>
<br/>
kontaktseite 2 per 'include' (=> in kontakt_2.html)

</body>
</html>



zu 3: kontakt_2.php
Zitat:

<?php
echo"<br/><br/>(das ist kontakt_2.php  per 'include')";
 echo"<br/>Die folgende Nachricht wurde an ... verschickt:<br />".
   
    "<br />Absender: ".$_REQUEST[Absender]
	."<br />Telefon: ".$_REQUEST[Telefon]
	."<br />Email: ".$_REQUEST[Email]
	."<br />Bemerkungen: ".$_REQUEST[Bemerkungen];
	 
	  
	
	?>

Antwort 11 von Petra65 vom 13.01.2022, 20:52 Options

Hallo,

so - habe nun den Code aus Antw. 10 angepasst, und es funktioniert alles wunderbar ;-)))

Vielen vielen Dank für die Hilfe.


Viele Grüße - Petra

Ähnliche Themen

Kontaktformular, Problem mit der Weiterleitung (Header)
dorionas  16.09.2008 - 59 Hits - 8 Antworten

Kontaktformular auf Webseite - Problem
KOR  02.04.2009 - 414 Hits - 5 Antworten

php Kontaktformular
nafasi3  29.06.2009 - 509 Hits - 14 Antworten

PHP Kontaktformular Fehlermeldung
nafasi3  06.07.2009 - 354 Hits - 12 Antworten

Suche Kontaktformular mit Uploadfunktion!?!
coros  09.09.2009 - 443 Hits - 11 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026