mccoy
Grünschnabel
Hi,
ich habe ein Admin Bereich für eine Webseite, wo ich per Select Feld auswählen kann welche Seite bearbeitet werden kann.
Anschließend wird per Send-Button "los" die Variable $seite mit den entsprechenden Wert (1-3) gefüllt.
Nun wird per Select der Inhalt der entsprechenden Seite aus der DB geholt und $ausgabe in ein Textarea ausgegeben:
Die Ausgabe dann in einem Textarea:
Nun kann ich das Textfeld bearbeiten und durch einen zweiten Submit Button und Update Befehle wieder an die DB zurücksenden. Die Formulare werden jeweils per "post" übergeben:
Nun das Problem:
Angenommen ich möchte die 2 Seite verändern, dann wähle ich im Select feld "history" aus und es wird an $seite die "2" übergeben. Es wird dann auch der richtige Inhalt im Textarea dargestellt. Möchte ich nun die Änderungen Speichern und drücke auf den zweiten Submit Button, schreibt er aber die Änderungen auf die 1. Seite, weil das Select-Feld automatisch, nach drücken des ersten Buttons "los" wieder auf den ersten Listeneintrag zurückspringt! Stelle ich es manuell um, bevor ich den zweiten Button zum "update der DB" drücke, funktioniert alles. Aber ich möchte das er automatisch im Select Feld die entsprechende Seite, die ich zu Begin ausgewählt habe auch beibehält!
Ich habe nun schon erfahren, dass man das mit "Sessions" lösen kann nur weiss ich leider nicht wie ich das umsetze.
Hier der komplette Code:
ich habe ein Admin Bereich für eine Webseite, wo ich per Select Feld auswählen kann welche Seite bearbeitet werden kann.
HTML:
<select name="seite" size="1" id="seite">
<option value="1" selected>Home</option>
<option value="2">History</option>
<option value="3">Pics</option></select>
<input name="sub" type="submit" id="sub" value="los"></td>
Nun wird per Select der Inhalt der entsprechenden Seite aus der DB geholt und $ausgabe in ein Textarea ausgegeben:
PHP:
if ($sub == "los")
{
// Connect.php laden
require_once('connect.php');
// Verbindung zur DB herstellen
mysql_select_db($database, $connect);
//Sql Abfrage0
$sql = "SELECT * FROM inhalt WHERE ID = '$seite'";
// Statt * hier inhalt verwenden
$result = mysql_query($sql, $connect);
$number = mysql_num_rows($result);
$b = mysql_fetch_row($result);
$ausgabe = $b[1];
}
HTML:
<textarea name="text" cols="80" rows="10"><?php echo "$ausgabe"; ?></textarea>
HTML:
<form name="form1" method="post" action="<?php echo $GLOBALS['PHP_SELF'] ?>
Nun das Problem:
Angenommen ich möchte die 2 Seite verändern, dann wähle ich im Select feld "history" aus und es wird an $seite die "2" übergeben. Es wird dann auch der richtige Inhalt im Textarea dargestellt. Möchte ich nun die Änderungen Speichern und drücke auf den zweiten Submit Button, schreibt er aber die Änderungen auf die 1. Seite, weil das Select-Feld automatisch, nach drücken des ersten Buttons "los" wieder auf den ersten Listeneintrag zurückspringt! Stelle ich es manuell um, bevor ich den zweiten Button zum "update der DB" drücke, funktioniert alles. Aber ich möchte das er automatisch im Select Feld die entsprechende Seite, die ich zu Begin ausgewählt habe auch beibehält!
Ich habe nun schon erfahren, dass man das mit "Sessions" lösen kann nur weiss ich leider nicht wie ich das umsetze.
Hier der komplette Code:
HTML:
<form name="form1" method="post" action="<?php echo $GLOBALS['PHP_SELF'] ?>">
<table width="713" border="0" cellspacing="1" cellpadding="0">
<tr>
<td colspan="2" class="optstufe2"><div align="center"><b>ADMIN-Center:</b></div></td>
</tr>
<tr>
<td colspan="2" class="optstufe2"> </td>
</tr>
<tr>
<td class="optstufe4"> </td>
<td width="647" class="optstufe4">Welche Seite soll bearbeitet werden ? </td>
</tr>
<tr class="optstufe5">
<td width="63"> </td>
<td><select name="seite" size="1" id="seite">
<option value="1" selected>Home</option>
<option value="2">History</option>
<option value="3">Pics</option>
</select>
<input name="sub" type="submit" id="sub" value="los"></td>
</tr>
<tr class="optstufe5">
<td width="63"> </td>
<td> </td>
</tr>
<tr class="optstufe4">
<td> </td>
<td> <div align="right"></div></td>
</tr>
<tr>
<td> </td>
<td><div align="right"></div></td>
</tr>
</table>
<?
if ($sub == "los") {
// Connect.php laden
require_once('connect.php');
// Verbindung zur DB herstellen
mysql_select_db($database, $connect);
//Sql Abfrage0
$sql = "SELECT * FROM inhalt WHERE ID = '$seite'";
$result = mysql_query($sql, $connect);
$number = mysql_num_rows($result);
$b = mysql_fetch_row($result);
$ausgabe = $b[1];
}
?>
<table width="713" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="647" colspan="2" class="optstufe2"><div align="center">
</div></td>
</tr>
<tr class="optstufe5">
<td width="647">Text:</td>
<td><textarea name="text" cols="80" rows="10"><?php echo "$ausgabe"; ?></textarea></td>
</tr>
<tr class="optstufe4">
<td> </td>
<td> <input type="submit" name="Submit" value="Senden"> <div align="right"></div></td></tr>
<tr>
<td>
<?php
if ($Submit == "Senden") {
$sql = "UPDATE inhalt SET text = '$text' WHERE ID = '$seite'";
echo $sql;
$link= mysql_connect("", "" , "");
//später über connect.php
mysql_select_db("net", $link);
mysql_query($sql, $link);
echo "Aktualisierung erfolgreich!";
}
?>
</td>
<td><div align="right"><font size="-2"><a href="javascript: window.close()">Fenster schließen </a></font></div></td>
</tr>
</table>
Zuletzt bearbeitet: