Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 02-04-2021, 14:41
phppower
 Registrierter Benutzer
Links : Onlinestatus : phppower ist offline
Registriert seit: Jul 2009
Beiträge: 64
phppower befindet sich auf einem aufstrebenden Ast
phppower eine Nachricht über Skype™ schicken
Standard Umstellung auf php 7 teilweise gelöst

Zitat:
Zitat von h3ll Beitrag anzeigen
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 &auml;ndern - <?php echo $header?></td></tr>
<tr><td>&nbsp;</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>&nbsp;</td></tr>
<tr><td align=center><input type="submit" name="update" value="Text &auml;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
Mit Zitat antworten