Zitat:
Zitat von h3ll
strip_tags() und htmlspecialchars() hat bei Datenbankabfragen nichts verloren.
Und du beachtest den Kontextwechsel nach SQL nicht. Werte sollten nicht direkt in SQL-Code eingefügt werden. Beschäftige dich mal damit, wie Prepared Statements funktionieren.
Das Zeug mit ereg_replace() und str_replace() ist auch für die Tonne.
Und es gibt keinen Grund Umlaute zu verstümmeln.
|
Das Zeugs hab ich alles schon raus genommen der neue Code sieht jetzt komplett so aus:
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();
}
$pdd_txtcontent = ($_POST['pdd_txtcontent']);
$sql_insert = $bdd->prepare('INSERT INTO pdd_texte (pdd_txtcontent) VALUES (?)');
$insert_ok = $sql_insert->execute(array($pdd_txtcontent));
if($insert_ok)
{
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="texte.php?=<?php echo $pdd_txtid; ?>" method="POST">
<tr><td align=center><textarea name="pdd_txtcontent" 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");
?>
Mein Problem ist ja das die id für den Eintrag schon gegben ist und er soll ja nur die angegebene Spalte durch neuen Text ersetzen.
Ich vermute ja das diese das Problem ist
PHP-Code:
<form action="texte.php?=<?php echo $pdd_txtid; ?>" method="POST">
Fehlermeldung ist entsprechend
Notice: Undefined index: pdd_txtcontent in
/home/webpages/lima-city/phppower/default-website/texte.php on line
17
und bezieht sich auf
PHP-Code:
$pdd_txtcontent = ($_POST['pdd_txtcontent']);
aber meines erachtens müßte das richtig sein
oder ich stehe hier völlig auf dem Schlauch