• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einfache DB-Feld-Abfrage

Status
Für weitere Antworten geschlossen.

Berner

Neues Mitglied
Hallo,
mit folgender Abfrage erhalte ich die Fehlermeldung dass die Variable $crud nicht definiert ist:

if (isset($_GET['id'])) {
$sql = 'SELECT crud FROM accounts WHERE id = '.$_SESSION['id'];

foreach ($pdo->query($sql) as $row) {
$crud = $row['crud'];
}
}

Nehme ich die if-Abfrage weg, d.h. die oberste und die unterste Zeile entfernen, erhalte ich die Fehlermeldung dass "Undefined array key "id"
Kann es an der Sessionsvariable liegen, d.h. anders definieren?
 
Die genannte Fehlermeldung kommt nicht von der Stelle. Ist das wirklich dein gesamter Quellcode?
 
Danke für die Nachfrage, ich habe eine Lösung gefunden.
Neue Datei main_session.php erstellt, mit check_loggedin($pdo);

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 = ohne, 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 bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben