ID ist mal definiert, mal nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ID ist mal definiert, mal nicht

    Ich habe eine main.php wo nebst der DB-Verbindung auch andere Variablen festgelegt werden, in den weiteren Dateien steht dann oben: include ‘main.php’;
    Das Problem ist folgender Code in der main.php für die Vergabe der crud-Rechte:
    PHP-Code:
    if (isset($_GET['id'])) {
        
    $stmt $pdo->prepare('SELECT * FROM accounts WHERE id = ?'); 
        
    $stmt->execute([$_SESSION['id']]);
        
    $account $stmt->fetch(PDO::FETCH_ASSOC);
        
    $crud $account['crud'];
       
        
    // Bedienung einschalten je nach Benutzerrechten
        
    $create $read $update $delete 'nein'// Standardeinstellung
        
        
    if (preg_match('/[c]/'$crud)) {
               
    $create 'ja';    // auch für clone
        

        if (
    preg_match('/[r]/'$crud)) {
               
    $read 'ja';
        } 
        if (
    preg_match('/[u]/'$crud)) {
               
    $update 'ja';
        } 
        if (
    preg_match('/[d]/'$crud)) {
               
    $delete 'ja';    
        } 

    Ging einige Zeit gut, dann kam die Fehlermeldung:
    Warning: Undefined variable $create in C:\xampp\htdocs\dv\adr\read.php on line 136 - dito auch für für anderen Variabeln $read, $update und $delete - betrifft die read.php

    Dann entfernte ich die erste Zeile ( if isset.... und die letzte Klammer, es kam die Fehlermeldung:
    Warning: Undefined array key "id" in C:\xampp\htdocs\dv\main.php on line 141 = $stmt->execute([$_SESSION['id']]); - betrifft die main.php

    Wie muss ich den Code korrekt schreiben, damit es immer funktioniert und nicht einige Zeit mal so dann wieder anders ( mit oder ohne if isset-Abfrage).
    Zuletzt geändert von Kusi_Schweiz; 07.02.2022, 14:28.

  • #2
    Ich habe eine Lösung gefunden.

    Neue Datei mains.php erstellt, mit check_loggedin($pdo);

    PHP-Code:
    <?php
    include 'main.php';
    check_loggedin($pdo);


    // Benutzerrechte crud in DB abfragen
    $stmt $pdo->prepare('SELECT crud FROM accounts WHERE id = ?'); 
    $stmt->execute([$_SESSION['id']]);
    $account $stmt->fetch(PDO::FETCH_ASSOC);
    $crud $account['crud'];

    // Benutzerrechte vergeben (0 = keine, 1 = mit Rechten)    
    $create $read $update $delete 0// Standardeinstellung
    if (preg_match('/[c]/'$crud)) {
        
    $create 1;                         // auch für clone

    if (
    preg_match('/[r]/'$crud)) {
        
    $read 1;

    if (
    preg_match('/[u]/'$crud)) {
        
    $update 1;

    if (
    preg_match('/[d]/'$crud)) {
        
    $delete 1;    
    }
    Zuletzt geändert von Kusi_Schweiz; 09.02.2022, 14:55.

    Kommentar

    Lädt...
    X