Einzelnen Beitrag anzeigen
  #13 (permalink)  
Alt 02-04-2021, 15:15
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
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 &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="<?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>&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");
?>
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_txtidint(10unsigned NOT NULL auto_increment,
  `
pdd_txtcontentlongtext 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?
Mit Zitat antworten