Mehrere Parameter übergeben funktioniert nicht


#1
Hallo zusammen,
ich arbeite an einem Template System wo man im adminbereich die Themes ändern kann.
Nun möchte ich wenn ein neues Theme ausgewählt wird sol das alte Theme den Status 'old' bekommen und das neue dann 'use'.
Aber wenn ich ein neues auswähle werden bei beiden der satus auf 'old' geändert.
Der SQL Befehl ist korrekt.
Hat einer eine Idee?
PHP:
<?php
 $database = new Database();
$result = $database->runQuery("SELECT * FROM themes");
while($themes = mysqli_fetch_object($result)): ?>
  <form class="" method="post">
    <div class="cards">
     <img src="img/<?php echo $themes->image; ?>" alt="<?php echo $themes->image; ?>" style="width:100%">
     <div class="containers">
       <h4><b><?php echo $themes->name; ?></b></h4>
       <p><?php echo $themes->teaser; ?></p>
       <?php
       if ($themes->status == "use") :?>
       <input type="submit" class="btn btn-primary" name="use" value="Ausgewählt">
       <input type="hidden" name="themeidold" value="<?php echo $themes->id; ?>">
     <?php else: ?>
       <input type="submit" class="btn btn-primary" name="use" value="Auswählen">
       <input type="hidden" name="themeidnew" value="<?php echo $themes->id; ?>">
       <?php endif; ?>
     </div>
    </div>
  </form>
<?php endwhile;?>
<?php
if (isset($_POST['use'])) {
  $themeold = $_POST['themeidold'];
  $themenew = $_POST['themeidnew'];
  $theme = $database->runQuery("UPDATE themes SET status='old' WHERE id='$themeold'");
  $newTheme = $database->runQuery("UPDATE themes SET status='use' WHERE id='$themenew'");
}
 ?>
 

guenter024

Erfahrenes Mitglied
#2
Kann es sein, dass du das Datenbankupdate eventuell vor der Ausgabe machen solltest?
Auch sollte unbedingt das SQL vor Injections gesichert werden.
 

Neue Beiträge