Hallo Community,
ich habe folgendes Problemchen mit der Variablenübergabe der Eingabe-Felder von einem Gästebuch-Formular an das Script des Gästebuch-Insert ;-)
ich habe eine index.php Datei in der ich verschiedene Funktionen (die dann auf den includierten Seiten aufgerufen werde):
Soweit die index.php. In der area.php (die oben includiert wird) habe ich folgende Funktionen ausprogrammiert:
Als Antwort bekomme ich nach dem Ausfüllen des Formulars immer folgende Ausgabe auf der Browserseite angezeigt:
d.h. für mich er bekommt die Variablen:
nicht richtig übergeben, bzw. er bekommt sie gar nicht. Die Variablen verlieren sich irgendwo im Sript !
Wo habe ich meinen Denkfehler. Hat jmd. das gleiche Problem oder kennt jmd. eine Antwort?
Für jede Hilfe bin ich sehr dankbar ;-)
Gruß
Matze
ich habe folgendes Problemchen mit der Variablenübergabe der Eingabe-Felder von einem Gästebuch-Formular an das Script des Gästebuch-Insert ;-)
ich habe eine index.php Datei in der ich verschiedene Funktionen (die dann auf den includierten Seiten aufgerufen werde):
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<?php
// session_start();
// $_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];
// $ip = $_SESSION["ip"];
// $sid = session_name(sess);
// Errors auf der Seite anzeig
error_reporting(E_PARSER | E_ALL);
$_POST['Name'];
$_POST['Email'];
$_POST['Homepage'];
$_POST['Text'];
//Datenbank-Verbindung aufbauen
include("sites/dbconnect.php");
//includierte sites
include("sites/navi.php");
include("sites/area.php");
include("sites/lastupdate.php");
include("sites/language.php");
include("sites/wirbeide.php");
include("sites/contact_form.php");
// -----------------------------------------------------------------------------------
// Es wird ueberprueft ob POST oder GET Variablen gesetzt sind und wenn ja neu zugeordnet
if (isset($_POST['id'])) {
$id = $_POST['id'];
} else
{ if (isset($_GET['id'])) {
$id = $_GET['id'];
}
else {
$id = "home" ;
}
}
....
// ##########################################################################################################
if($id == gbook){
navi_guestbook();
guestbook();
navi_language();
navi_randompic();
navi_footer();
}
// ##########################################################################################################
if($id == form_insert){
navi_guestbook();
insert();
navi_language();
navi_randompic();
navi_footer();
}
// ##########################################################################################################
if($id == gb_insert){
navi_guestbook();
gb_insert($_POST['Name'], $_POST['Email'], $_POST['Homepage'], $_POST['Text']);
navi_language();
navi_randompic();
navi_footer();
}
...
// ##########################################################################################################
if (!(($id == gbook)|($id == form_insert)|($id == gb_insert)))
{
navi_home();
area_home();
navi_randompic();
navi_language();
navi_footer();
}
// ##########################################################################################################
?>
PHP:
...
function guestbook(){
?>
<div class="navi-line">
Du bist
hier: <a href="index.php?id=home">Home</a> / <a href="index.php?id=gbook">Gästebuch</a> </div>
<div class="inside">
<div class="area">
<?php
echo 'Bitte schnell einen Gruß hinterlassen:<br /><br />';
echo "Ins Gästebuch <a href=\"index.php?id=form_insert\">schreiben</a>\n";
$sql = "SELECT
Name,
Datum,
Email,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
echo "\n<hr />";
echo "<p>Einträge im Gästebuch: <b>".mysql_num_rows($result)."</b></p>\n";
while($row = mysql_fetch_assoc($result)) {
if(trim($row['Email']) == "") {
echo $row['Name'];
} else {
echo "<a href=\"mailto:".$row['Email']."\">".$row['Name']."</a>\n";
}
if(trim($row['Homepage']) != "") {
if(strtolower(substr($row['Homepage'], 0, 7)) == "http://") {
// Wenn der Teilstring gleich "http://" ist, so
// soll er den Link ohne "http://" erzeugen, denn
// der Steht ja schon drin
echo " (<a href=\"".$row['Homepage']."\">Homepage</a>)";
} else {
// Wenn nicht, so soll er das "http://" manuell hinzufügen
echo " (<a href=\"http://".$row['Homepage']."\">Homepage</a>)";
}
}
echo " schrieb um ".$row['Datum']."\n";
echo "".nl2br($row['Inhalt'])."<br />";
}
?>
</div>
</div>
<?php
}
// ##########################################################################################################
function insert(){
?>
<div class="navi-line">
Du bist
hier: <a href="index.php?id=home">Home</a> / <a href="index.php?id=gbook">Gästebuch</a> </div>
<div class="inside">
<div class="area">
<form action="index.php?id=gb_insert" method="post" enctype="text/plain">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="Name" size="35px" /></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="text" name="Email" size="35px"/></td>
</tr>
<tr>
<td>Homepage:</td>
<td><input type="text" name="Homepage" size="35px"/></td></tr>
<tr>
<td valign="top">Text:</td>
<td><textarea name="Text" rows="10" cols="35"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="Absenden" size="2" style="color: #0000FF; font-family: Verdana; font-size: 10;" />
<input type="reset" name="Zurücksetzen" size="2" style="color: #0000FF; font-family: Verdana; font-size: 10;" />
</td>
</tr>
</table>
</form>
<hr />
<?php
$sql = "SELECT
Name,
Datum,
Email,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
echo "\n<hr />";
echo "<p>Einträge im Gästebuch: <b>".mysql_num_rows($result)."</b></p>\n";
while($row = mysql_fetch_assoc($result)) {
if(trim($row['Email']) == "") {
echo $row['Name'];
} else {
echo "<a href=\"mailto:".$row['Email']."\">".$row['Name']."</a>\n";
}
if(trim($row['Homepage']) != "") {
if(strtolower(substr($row['Homepage'], 0, 7)) == "http://") {
// Wenn der Teilstring gleich "http://" ist, so
// soll er den Link ohne "http://" erzeugen, denn
// der Steht ja schon drin
echo " (<a href=\"".$row['Homepage']."\">Homepage</a>)";
} else {
// Wenn nicht, so soll er das "http://" manuell hinzufügen
echo " (<a href=\"http://".$row['Homepage']."\">Homepage</a>)";
}
}
echo " schrieb um ".$row['Datum']."\n";
echo "".nl2br($row['Inhalt'])."<br />";
}
?>
</div>
</div>
<?php
}
......
// ##########################################################################################################
function gb_insert($name, $email, $homepage, $text){
?>
<div class="navi-line">
Du bist
hier: <a href="index.php?id=home">Home</a> / <a href="index.php?id=gbook">Gästebuch</a>
</div>
<div class="inside">
<div class="area">
<?php
if(!isset($name, $email,
$homepage, $text)) {
die("Bitte Benutzen sie das Formular fü aus Gästebuch\n");
}
echo $name;
if(trim($name) == "") {
die("Bitte geben sie einen Namen ein");
}
if(trim($text) == "") {
die("Bitte geben sie einen Text ein");
}
$sql = "INSERT INTO gaestebuch
(Name, Email, Homepage, Inhalt, Datum)
VALUES
('".addslashes(htmlspecialchars($name))."',
'".addslashes(htmlspecialchars($email))."',
'".addslashes(htmlspecialchars($homepage))."',
'".addslashes(htmlspecialchars($text))."',
NOW())";
mysql_query($sql) OR die(mysql_error());
echo "<p>Vielen Dank für ihren Eintrag.</p>\n";
echo "<p>Zurück zum <a href=\"index.php?id=gbook\">Gästebuch</a>";
?>
</div>
</div>
<?php
}
Code:
Bitte Benutzen sie das Formular fü aus Gästebuch
PHP:
$_POST['Name'];
$_POST['Email'];
$_POST['Homepage'];
$_POST['Text'];
Wo habe ich meinen Denkfehler. Hat jmd. das gleiche Problem oder kennt jmd. eine Antwort?
Für jede Hilfe bin ich sehr dankbar ;-)
Gruß
Matze
Zuletzt bearbeitet: