Hilfe Datenabsatz abfragen

11/21/2016 21:20 Danonee#1
Hallo Elitepvpers Community,

Ich bin noch ziemlich neu was PHP angeht.
Ich habe versucht, dass nachdem man sich eingeloggt hat, der Code überprüfen soll was für eine Berechtigung dieser User hat: in der Datenbank 1 = Admin
0 = User
das habe ich wie folgt versucht:
(Im geschützten Berreich)
Code:
$result = mysql_query("SELECT * FROM userpass WHERE permission ='1'");

if($result)
{
   echo "Wilkommen Admin";
}
else
{
	echo "test";
}
Jedoch funktioniert es nicht besonders.
Danke im voraus
MfG Danonee
11/21/2016 21:22 FlyffServices#2
Wie ist deine Tabelle aufgebaut?

PHP Code:
$result mysql_fetch_row(mysql_query("SELECT * FROM userpass WHERE permission ='1'"));

if(
$result[0])
{
   echo 
"Wilkommen Admin";
}
else
{
    echo 
"test";

Wobei der Query an sich 0 sinn ergibt?!

PHP Code:
SELECT permission FROM userpass WHERE username 'pimmelfratze' 
wäre sinnvoller da du sonst sowieso ein if(true) hast bei der ifklausel
11/21/2016 21:35 Danonee#3
*Erst einmal: Danke für die schnelle Antwort.
Tut mir leid für den Schlimmen Code, ich bin wie gesagt relativ neu im PHP Bereich.
Könntest du mir vielleicht eine Alternative empfehlen?

CREATE TABLE `userpass` (
`id` int(11) NOT NULL,
`user` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`email` varchar(55) NOT NULL,
`permission` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
11/21/2016 21:37 FlyffServices#4
Alternative von was o.O?

Einfach eier in den Eierquetscher zusammen quetschen und weiter fleißig lernen ;)
11/21/2016 21:39 Danonee#5
Nur komme ich bei dem Schritt momentan leider nicht weiter und brauche Hilfe ^.^
11/21/2016 22:07 Bitace#6
Pn mich mal

Gesendet von meinem HTC One M8 mit Tapatalk
11/22/2016 10:02 Syc#7
Wo ist denn noch dein Problem?
Was genau machst du? Was willst du machen? Auf welche Probleme stößt du?

Hinweis am Rande: mysql in PHP ist veraltet. Du solltest dir direkt angewöhnen mit mysqli oder PDO zu arbeiten. Google bietet entsprechende Beispiele.

Quote:
Originally Posted by ~Ellinia~ View Post
Pn mich mal

Gesendet von meinem HTC One M8 mit Tapatalk
1. Schreib ihm doch selber ne PN. Geht auch ohne spambeiträge zu verfassen
2. Der Sinn eines Forums ist sich öffentlich über Problemlösungen zu unterhalten, damit anderen, die ein ähnliches Problem haben damit auch geholfen wird.
11/22/2016 16:28 Danonee#8
Ich wollte mit einer Abfrage, abfragen ob der eingeloggte Benutzer die Rechte 0 oder 1 hat bzw. Admin oder User.
11/22/2016 16:40 Devsome#9
Quote:
Originally Posted by FlyffServices View Post
[...]

PHP Code:
SELECT permission FROM userpass WHERE username 'pimmelfratze' 
[...]
Quote:
Originally Posted by Danonee View Post
Ich wollte mit einer Abfrage, abfragen ob der eingeloggte Benutzer die Rechte 0 oder 1 hat bzw. Admin oder User.
Dann hast du da deine Antwort. Ersetze 'pimmelfratze' mit den von dir vorhanden variablen wo dein Benutzer drin gespeichert ist der eingeloggt ist.
12/14/2016 01:01 GermanPcGamer#10
Du kannst das ganze auf zwei verschiedene Arten machen:

SELECT ... FROM ... WHERE user = 'Nutzer' AND permisson = 1
Wenn dann mysqli_numrows = 1 ist hat er die Berechtigungen

Oder du prüfst das Feld indem du es abrufst:

$result = mysqli_query("SELECT permissions FROM user = 'Nutzer'");
$result = mysqli_fetch_object($result);
if($result->permissions == 1)
{echo 'Hat Berechtigung';}
12/14/2016 12:27 Sycrog#11
Code:
$sql = "SELECT COUNT(*) FROM userpass WHERE user = 'test' AND permission = 1;"; // optimalerweise mit prepared statements
if ($result = $db->query($sql)) {
if ($result->fetchColumn() > 0) {
// ...
}
}
Anmerkungen zum Feld permission:
- Speichert es mehrere Berechtigungen, sollte es ,,permissions" heißen
- Ist es nur ein Schalter, dann solltest du es umbenennen in z. B. loginAllowed. In diesem Fall könntest du den Datentyp ändern in TINYINT(1) UNSIGNED