Seite 1 von 1

Berechtigungen prüfen

Verfasst: Mo 26. Sep 2005, 09:54
von Condor
Hallo,

ich bin gerade dabei einen Teil bei meinem Contenido zu verändern. Ich möchte das nach dem Einloggen geprüft wird, welche Berechtigungen der aktuelle User hat. Deshalb habe ich mir ein Beispiel-Script gebastelt, welches aber nicht so richtig laufen möchte. Ega ob bei Gruppe in der DB eine 1 oder eine 0 steht, es kommt immer "Keine Berechtigungen", obwohl es gehen müsste da der User eine 1 hat. Was mache ich da falsch ? Ist die Abfrage mit WHERE falsch ?

Code: Alles auswählen

<?
$sql = "SELECT * FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'";
$result = mysql_query($sql, $conn);
if ($result) {
$access = $db->f("gruppe");
if ($access == '1') {
echo "Berechtigung erteilt";
} else {
echo "Keine Berechtigungen";
}
}
mysql_close($conn);
?>
Kann mir da jemand helfen ?

Mfg
Condor

Verfasst: Mo 26. Sep 2005, 10:04
von timo
ähm du schickst die anfrage über die PHP mysql_query-Funktion weg, holst dir dsa Resultat aber mit $db->f? Das kann nicht funktionieren

Innerhalb von Contenido sollte immer die $db-Klasse verwendet werden

tip: var_dump() ist dein Freund für's Debugging...

Verfasst: Mo 26. Sep 2005, 16:19
von Condor
Hi,

danke erstmal für die Antwort.

Wie muss denn die Anfrage dann aussehen ? Wenn ich es ja so mache:

Code: Alles auswählen

<?
$sql = "SELECT * FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'";
$result = mysql_query($sql, $conn);
if ($result) {
if ($row['gruppe'] == '1') {
echo "Berechtigung erteilt";
} else {
echo "Keine Berechtigungen";
}
}
mysql_close($conn);
?>
Gehts ja natürlich auch nicht.

Mfg
Condor

Verfasst: Mo 26. Sep 2005, 18:42
von timo
1. du schickst die Anfrage über mysql_query weg. Das darf nicht sein, schicke das über das $db-Objekt weg.

2. Genauso holst du die Daten auch raus, und zwar über das $db-Objekt.

Schau dir doch einfach mal die Beispielmodule an.

Verfasst: Di 27. Sep 2005, 11:05
von Condor
Hallo,

erstmal danke für die Denkanstösse. Jetzt gehts, habs jetzt so gelöst:

Code: Alles auswählen

<?
$db  = new DB_Contenido;
$sql = "SELECT gruppe FROM con_phplib_auth_user_md5 WHERE user_id = '".$auth->auth["uid"]."'";
$db->query($sql);
if ($db->next_record()) {

$access = $db->f("gruppe");

if ($access == "1") {

echo "Berechtigung erteilt";
} else {
echo "Keine Berechtigungen";
}
}
?>

Verfasst: Di 27. Sep 2005, 12:12
von HerrB
Jetzt noch ein wenig einrücken (für die Optik) und fertig ist der Lack.

Gruß
HerrB