Ansicht:   

#430454

MagicBird

Berlin,
11.02.2019, 17:30:14
(editiert von MagicBird, 11.02.2019, 17:31:30)

PHP denkfehler oder doch schreibfehler IF - Else (ed) (web.coding)

Hallo Forum,

möchte nun ein kleines backend basteln wo unerwünschte Beiträge deaktiviert werden können oder auch wieder aktiviert werden können.


<?php 
session_start();

require_once '../include/config.include.php';
require_once '../include/date_time.include.php';
                                                            
if ($_GET['tbl'] && $_GET['id'] && $_GET['aktiv'] == false)
  {
    if ($_GET['tbl'] == "1")
      {
        if ($_GET['aktiv'] == "0")
          {
            $sql = "UPDATE $uebersichttbl SET aktiv = 0 WHERE id='".$_GET['id']."'";
            $pdo->query($sql);
            header("Location: index.php");           
          }
       else  if ($_GET['aktiv'] == "1")
          {
            $sql = "UPDATE $uebersichttbl SET aktiv = 1 WHERE id='".$_GET['id']."'";
            $pdo->query($sql);
            header("Location: index.php");           
          }
        else
          {
            header("Location: index.php"); 
          }
      }
    else if ($_GET['tbl'] == "2")
      {
        if ($_GET['aktiv'] == "0")
          {
            $sql = "UPDATE $projekttbl SET aktiv = 0 WHERE id='".$_GET['id']."'";
            $pdo->query($sql);
            header("Location: index.php"); 
          }
       else  if ($_GET['aktiv'] == "1")
          {
            $sql = "UPDATE $projekttbl SET aktiv = 1 WHERE id='".$_GET['id']."'";
            $pdo->query($sql);
            header("Location: index.php"); 
          }
        else
          {
            header("Location: index.php"); 
          }
      }
    else
      {
        header("Location: index.php"); 
      }
  }
?>



das Ding ist, ich kann die Beiträge deaktivieren aber nicht mehr aktivieren da bleibt die Seite post.php stehen ohne fehler und sonst was ( sonstwas ich hatte alle if schleifen mit einem echo und vorlaufenenden zahl und sleep vor der header gesetzt aber es kam nichts)

wo ist mein denk fehler?

nachtrag der übergebende LINK sieht so aus.
http://schule/backend/post.php?tbl=1&id=2&aktiv=1
danke Lars

#430460

MagicBird

Berlin,
11.02.2019, 19:27:11

@ MagicBird

PHP denkfehler oder doch schreibfehler IF - Else

Fehler gefunden...

ich kann doch nicht eine ausführende anfrage laufen lassen erst wenn keine werte gesetzt sind. blödsinn....


Fehler
 if ($_GET['tbl'] && $_GET['id'] && $_GET['aktiv'] == false)
   {
     if ($_GET['tbl'] == "1")
       {
         if ($_GET['aktiv'] == "0")

RICHTIG
 if ($_GET['tbl'] && $_GET['id'] && $_GET['aktiv'] == true)
   {
     if ($_GET['tbl'] == "1")
       {
         if ($_GET['aktiv'] == "0")



trotzdem danke Forum

#430462

MagicBird

Berlin,
12.02.2019, 00:19:37

@ MagicBird

nochmal neu gebaut

Nun nochmal neu gebastelt, ohne diese ganzen if schleifen gleich direkter

gute nacht Forum...


if ($_GET['tbl'] AND $_GET['id'] == true)
  {
    $sql = "UPDATE ".$_GET['tbl']." SET aktiv='".$_GET['aktiv']."' WHERE id='".$_GET['id']."'";
    $pdo->query($sql);
    header("Location: index.php");
  }
else
  {           
    header("Location: index.php"); 
  }

#430463

MudGuard zur Homepage von MudGuard

München,
12.02.2019, 01:10:01

@ MagicBird

nochmal neu gebaut

>


> if ($_GET['tbl'] AND $_GET['id'] == true)
> {
> $sql = "UPDATE ".$_GET['tbl']." SET aktiv='".$_GET['aktiv']."' WHERE
> 



Äußerst riskant, Parameter ungeprüft in die Datenbank-Statements zu übernehmen ...

--
[image]
MudGuard
O-o-ostern

#430465

Johann

12.02.2019, 11:02:24

@ MagicBird

nochmal neu gebaut

Ergänzend zu MudGuard's wichtigem Hinweis: PDO Prepared Statement

Lesen ab: "Was sind Prepared Statements?"
Beachte: "2. Vorteil"

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz