Webstatt.org - Community seit 2006 - 2012 (2024?)

Problem mit Kontakt-Formular und Include

user-137
07.04.2006 17:46

Hallo,

ich habe ein problem mit meinem Kontakt-Formular, und zwar "würde" das script die E-mail auch senden, aber ich habe die Datei in der das Formular ist in die datei "page.php" Includedet.

So ist der Code des Formulares:

<?php
$page_titel = 'Kontakt Formular';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Internetiv - <?php echo $page_titel; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="css.css">
</head>

<body>
<!-- Hier beginnt der PHP-Code -->
<?php
if (isset($_POST['submit'])) {

$fehler=false;
$fehlertext="";

if (empty($_POST['Name'])) {
$fehler=true;
$fehlertext.="Der Name fehlt!<br>\n";
}
else if (strlen($_POST['Name'])<3) {
$fehler=true;
$fehlertext.="Der Name ist zu kurz<br>\n";
}

$muster="/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
if (empty($_POST['Email'])) {
$fehler=true;
$fehlertext.="Die E-Mail-Adresse fehlt!<br>\n";
}
else if (preg_match($muster, $_POST['Email'])==0) {
$fehler=true;
$fehlertext.="Die E-Mail-Adresse ist ungültig!<br>\n";
}

if (empty($_POST['Thema'])) {
$fehler=true;
$fehlertext.="Bitte wählen sie ein Thema aus!<br>\n";
}

if ((empty($_POST['Text']))) {
$fehler=true;
$fehlertext.="Das Nachrichten-Feld muss ausgefüllt werden!<br>\n";
}
else if (strlen($_POST['Text'])<3) {
$fehler=true;
$fehlertext.="Die Nachricht ist zu kurz<br>\n";
}

if ($fehler) {
echo "<p>$fehlertext</p>";
}
else {

$mailbody=$_POST['Name'] . " schrieb\n\n";
$mailbody.=$_POST['Text'];
$mailbody=stripslashes($mailbody);
$Email=$_POST['Email'];
if (@mail("$admin_mail", "Feedback", $mailbody, "From: $Email"zwinkern) {
echo "<p>Danke! Das Feedback wurde übermittelt!</p>\n";
}
else {
echo "<p>Leider gab es einen Sendefehler!</p>\n";
}

}
}

?>
<!-- Hier endet der PHP-Code -->
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="29" id="oben_links"></td>
<td width="626" id="oben_mitte"></td>
<td width="27" id="oben_rechts"></td>
</tr>
<tr>
<td height="398" id="mitte_links"></td>
<td id="mitte_mitte"><div align="center">
<h1>Kontakt Formular</h1>
<p>Mit diesem Formular k&ouml;nnen sie sich mit mir in Kontakt setzen</p>
<p>&nbsp;</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table width="100%" border="0">
<tr>
<td width="16%">Name:</td>
<td width="84%"><input name="Name" type="text"
value="<?php echo htmlspecialchars(stripslashes($_POST['Name'])); ?>" size="30"></td>
</tr>
<tr>
<td>Ihre E-Mail:</td>
<td><input name="Email" type="text"
value="<?php echo htmlspecialchars(stripslashes($_POST['Email'])); ?>" size="30"></td>
</tr>
<tr>
<td>Thema:</td>
<td> <select name="Thema" value="<?php echo htmlspecialchars(stripslashes($_POST['Thema'])); ?>">
<option>---</option>
<option value="Kontakt">Kontakt</option>
<option value="Feedback">Feedback</option>
<option value="Privat">Privat</option>
</select></td>
</tr>
<tr>
<td>Nachricht:</td>
<td><textarea name="Text" cols="55" rows="5">
<?php echo stripslashes($_POST['Text']); ?>
</textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Senden" name="submit"><input type="reset" value="Löschen" name="reset"></td>
</tr>
</table>
</form>
<!-- Hier endet das Formular -->
<p>&nbsp;</p>
</div></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table>
</body>
</html>


Und so der Code der page.php also der datei in der das Formular idencludet wird:


<?php
$page = $_GET['page'];
?>
<!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">
<link rel="stylesheet" type="text/css" href="css.css">
<!-- Hier beginnt das einbinnden der config.ini.php -->
<?php include("config.ini.php"zwinkern; ?>
<!-- Hier endet das einbinnden der config.ini.php -->
</head>

<body>
<table width="100%" hight="100" border="0">
<tr>
<!-- Hier beginnt das einbinnden des menues -->
<td height="100%"><?php include("menue.php"zwinkern; ?></td>
<!-- Hier endet das einbinnden des Menues -->
</tr>
<tr>
<!-- Hier wird die Page aus dem Ordner eingebunden -->
<td height="100%"><?php include("page/$page.php"zwinkern; ?></td>
<!-- Hier endet das einbinnden der Page aus dem ordner -->
</tr>
</table>

</body>
</html>


Das Formular wird über die Adressleiste eingebunden, also so: page.php?page=feedback

Aber wenn ich auf Senden im Formular Klicke kommt das:

Warning: Failed opening 'page/.php' for inclusion (include_path='.;c:\php4\pear'zwinkern in C:\FoxServ\www\Re-Design\page.php on line 23


Danke, jetzt schon für eure Hilfe.

Avatar user-182
07.04.2006 17:55

page/.php gibts nicht, $_GET['page'] darf d.h. nicht leer sein

Seid ihr auch schon wix'r? xD
user-137
07.04.2006 18:02

Also, was soll ich dan beim senden ändern? ich will ja das auch beim senden die Datei weiter Idencludet wird.