Zitat:
Zitat von h3ll
Das $_POST-Array ist nur befüllt, wenn das Formular abgeschickt wurde.
|
mir ist selber grad noch ein Fehler aufgefallen. Nach dem obigen Code legt er einen neuen Datensatz an und das soll ja garnicht.
es müsste so eigentlich aussehen und damit wäre die Fehlermeldung schon mal weg
PHP-Code:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$uploadActive = 'active';
include('header.php');
if(!isset($_SESSION['profile2']))
{
session_destroy();
header('location:'.$url.'login');
exit();
}
if($my_role < 1)
{
header('location:'.$url);
exit();
}
if(isset($_POST['pdd_txtcontent']))
{
$pdd_txtcontent = ($_POST['pdd_txtcontent']);
$sql = $bdd->prepare('UPDATE pdd_texte SET pdd_txtcontent = ?');
$insert_yes = $sql->execute(array($pdd_txtcontent));
if($insert_yes)
{
echo '<div class="alert alert-success" role="alert">gespeichert.</div>';
}
}
$sql = $bdd->query('SELECT * FROM pdd_texte WHERE pdd_txtid');
while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
$pdd_txtid = $row['pdd_txtid'];
$pdd_txtcontent = $row['pdd_txtcontent'];
if ($pdd_txtid == 1){ $header='Impressum'; }
if ($pdd_txtid == 2){ $header='Datenschutz'; }
if ($pdd_txtid == 3){ $header='Widerrufsrecht'; }
?>
<tr><td class="tdcont">Text ändern - <?php echo $header; ?></td></tr>
<tr><td> </td></tr>
<tr><td>
<table width=690 border=0 cellpadding=0 cellspacing=0>
<form action="<?php echo $_SERVER['PHP_SELF']?>?=<?php echo $pdd_txtid; ?>" method="POST">
<tr><td align=center><textarea name="pdd_content" rows="25" cols="46" style="width:560px;"><?php echo $pdd_txtcontent; ?></textarea></td></tr>
<tr><td> </td></tr>
<tr><td align=center><input type="submit" name="update" value="Text ändern" style="width:560px;" class="bt"></td></tr>
</form>
</table>
</td></tr>
<?php
}
include("footer.php");
?>
das mit dem action hab ich mal so geändert:
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']?>?=<?php echo $pdd_txtid; ?>" method="POST">
aber es zeigt nicht die Wirkung er speichert nicht das Update
die Datenbank sieht so aus:
PHP-Code:
CREATE TABLE IF NOT EXISTS `pdd_texte` (
`pdd_txtid` int(10) unsigned NOT NULL auto_increment,
`pdd_txtcontent` longtext collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`pdd_txtid`)
);
die txtid ist fest vorgegeben und soll immer die gleiche bleiben. Nur der txtconent so geupdatet werden.
Was mache ich da falsch?