Vertigo21
Erfahrenes Mitglied
Hallo zusammen.
Ich habe mal eine Eingabeformular in HTML für mein kleines News- Prog geschrieben und reiche die Eingaben ganz normal an PHP weiter.
Um auch die DAUs zu berücksichtigen möchte ich die Eingaben sichern, wenn z.B. keine Überschrift eingegeben wurde. Dazu speichere ich die Eingaben in globale Session- Variablen. Wurde nun keine Überschrift eingegeben wird zurück zu dem Eingabeformular geleitet und dort soll der bereits eingegeben Newstext wieder erscheinen und der DAU kann seine Eingaben vervollständigen.
Mein Problem ist jedoch, dass ich die Inhalte der Session- Variablen nicht in die HTML- Formularfelder zurückschreiben kann. Alle Eingaben werden korrekt in die Session- Variablen gespeichert (getestet), nur die Rückgabe funktioniert nicht.
Definition der Session- Variablen auf einer vorherigen Seite:
Eingabeformular:
Und das Überprüfungsformular mit MySQL:
Ich habe mal eine Eingabeformular in HTML für mein kleines News- Prog geschrieben und reiche die Eingaben ganz normal an PHP weiter.
Um auch die DAUs zu berücksichtigen möchte ich die Eingaben sichern, wenn z.B. keine Überschrift eingegeben wurde. Dazu speichere ich die Eingaben in globale Session- Variablen. Wurde nun keine Überschrift eingegeben wird zurück zu dem Eingabeformular geleitet und dort soll der bereits eingegeben Newstext wieder erscheinen und der DAU kann seine Eingaben vervollständigen.
Mein Problem ist jedoch, dass ich die Inhalte der Session- Variablen nicht in die HTML- Formularfelder zurückschreiben kann. Alle Eingaben werden korrekt in die Session- Variablen gespeichert (getestet), nur die Rückgabe funktioniert nicht.
Definition der Session- Variablen auf einer vorherigen Seite:
PHP:
/*Dieser Register- Bereich ist auf einer vorherigen Seite definiert- ich habe ihn hier nur zum besseren Verständnis hingeschrieben*/
session_start();
session_register("SESSION_User");
session_register("SESSION_ok1");
session_register("SESSION_ok2");
session_register("SESSION_ueberschrift");
session_register("SESSION_inhalt");
$_SESSION['SESSION_User']=$user;
$_SESSION['SESSION_ok1']=TRUE;
$_SESSION['SESSION_ok2']=TRUE;
$_SESSION['SESSION_ueberschrift']="";
$_SESSION['SESSION_inhalt']="";
//***Ende des Bereichs***
Eingabeformular:
PHP:
<?
session_start();
$html='
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<body link="blue" vlink="purple" alink="blue">
<table border="0" width="768" cellspacing="5" bgcolor="white" align="center">
<tr>
<td align="left">
<h3><b>Neue News erstellen</b></h3><p>
<form action="makenews2.php" method="post">
<hr>
Art der News:<p>
<select name="newsart" size="1">
<option> Ankündigung
<option> Allgemeiner Hinweis
<option> WICHTIGER HINWEIS
<option> Sonstiges
</select>
<p>
<hr>
Überschrift:<br>
';
/*Hier wird eine Auswahl getroffen was als HTML angezeigt wird, abhängig von den Prüfungsvariablen*/
if($_SESSION['SESSION_ok1']==FALSE)
{$html.='
<font face="Arial" color="red" size="-2">
* Sie haben keine Überschrift eingegeben</font><br>
<p><input name="ueberschrift" size="30" value="
'.$_SESSION['SESSION_ueberschrift'].'
"><p><hr>
';
}
else
{
$html.='
<input name="ueberschrift" size="30">
<p>
<hr>
';
}
/* Und das gleiche Spiel nocheinmal, dieses Mal aber für den Eingabetext*/
if($_SESSION['SESSION_ok2']==FALSE)
{
$html.='
Newstext:<br>
<font face="Arial" color="red" size="-2">
* Sie haben keinen Text eingegeben</font><br>
<textarea name="newstext" rows="8" cols="30">
'.$_SESSION['SESSION_inhalt'].'
</textarea><p>
';
}
else
{
$html.='Newstext:<br>
<textarea name="newstext" rows="8" cols="30"></textarea>
<p>
';
}
$html.='
<input type="submit" value="NEWS verfassen!">
<input type="reset" value="Felder löschen">
</form></td>
</tr>
</table>
<div align="center"
<font face="Arial"><a href="inhalt.php" target="rechts">Zurück</a></font><p>
</div>
</body>
</html>
';
//***Ausgabe des HTML- Codes***
echo $html;
?>
Und das Überprüfungsformular mit MySQL:
PHP:
<?
session_start();
//***Eingaben sichern***
$_SESSION['SESSION_ueberschrift']=$_POST["ueberschrift"];
$_SESSION['SESSION_inhalt']=$_POST["newstext"];
//***Datenbankvariablen Werte zuweisen***
$art = $_POST["newsart"];
$timestamp = time();
$autor = $_SESSION['SESSION_User'];
if ($_POST["ueberschrift"]!="")
{$ueberschrift=$_POST["ueberschrift"];$_SESSION['SESSION_ok1'] = TRUE;}
else
{$_SESSION['SESSION_ok1'] = FALSE;}
if ($_POST["newstext"]!="")
{$inhalt = $_POST["newstext"];$_SESSION['SESSION_ok2'] = TRUE;}
else
{$_SESSION['SESSION_ok2'] = FALSE;}
if ($_SESSION['SESSION_ok1'] == TRUE && $_SESSION['SESSION_ok2'] == TRUE)
{
//***Verbindung zur Datenbank aufbauen***
$mysql_user = 'root';
$mysql_pw = '';
$mysql_host = 'localhost';
$mysql_db = 'news_db';
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
//***Daten in die DB schreiben***
if(mysql_query("INSERT INTO tbl_news VALUE ('$art','$timestamp','$autor','$ueberschrift','$inhalt','')"))
{
//***Sicherungsvariablen im Falle eines Erfolges löschen***
$_SESSION['SESSION_ueberschrift']="";
$_SESSION['SESSION_inhalt']="";
echo '<font face="Arial"><b><h3>News erfolgreich verfasst</h3></b></font>';
echo "<meta http-equiv='refresh' content='2; URL=sub1.php'>";
}
else
{
echo 'Art: '.$art.'<br>Timestamp: '.$timestamp.'<br>Autor: '.$autor.'<br>Überschrift: '.$ueberschrift.'<br>Inhalt: '.$inhalt.'<p>';
echo '<b>Ein Fehler trat beim Schreiben in die Datenbank auf!</b>';
echo "<meta http-equiv='refresh' content='2; URL=makenews.php'>";
}
}
else
{
echo "<meta http-equiv='refresh' content='0; URL=makenews.php'>";
}
?>
Zuletzt bearbeitet: