PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   login script - welcher user? (https://www.php-resource.de/forum/php-developer-forum/77139-login-script-welcher-user.html)

XanaX 20-10-2006 22:35

login script - welcher user?
 
Hallo zusammen,

Ich habe hier auf der Seite folgendes Tutorial gelesen:
http://www.php-resource.de/tutorials/read/38/1/

Ich habe dies so weit wie möglich meinen vorstellungen angepasst nur eine Sache bleibt noch bei der ich nicht mehr weiter komme.

Ich möchte das sich sowohl normale User als auch ein Admin sich über den selben login anmelden können. Beim anmelden des Admins soll aber eine andere Seite geladen werden.

Nun die Frage, wie kann ich feststellen welcher User sich angemeldet hat?

Viele Grüße,
Thomas

Shurakai 20-10-2006 22:50

Indem du eine Spalte in der DB einfügst und dort den Benutzerlevel einträgst. Dann überprüfst du, ob der User, der sich einloggt, den Benutzerlevel eines Admins hat und leitest ihn per header() weiter :)

XanaX 20-10-2006 23:10

wie kann ich denn überprüfen was in dieser eigenschaft drin steht?
also ich hab jetz ne neue spalte gemacht die IsAdmin heißt

wenn der weit 1 ist dann ist es ein admin und wenn der wert 0 ist dann ist es keiner.

aber wie kann ich beim login feststellen ob dieser wert 1 ist oder nicht?

Shurakai 20-10-2006 23:43

mysql_query benutzen.

Aber am besten, du suchst dir ein ordentliches Buch und lernst damit PHP - "mal eben so" ist da nämlich nicht, denn damit kannst du dir ordentlich Ärger einhandeln, wenn du gehackt wirst, was rapp-zapp gehen kann, wenn du nicht aufpasst... :)

XanaX 21-10-2006 01:09

hmm da hast du wohl recht ;)

das sollte zwar keine weit verbreitete homepage werden ^^ aber von den 20 leuten die da ab und zu mal drauf schauen sollen halt nur 5 in den gesicherten bereich kommen :P

naja ich werd mal sehen ob ich mir so ein buch kaufe weil ob sich das lohnt für die kleinigkeit?!

naja danke trotzdem :)

Shurakai 21-10-2006 11:46

Ob es sich lohnt oder nicht: Hast du Spaß daran und möchtest du evtl. noch mehr programmieren? Oder ist es für dich eher lästig dich damit zu beschäftigen und du willst nur den Zweck und eigentlich interessiert es dich alles garnicht?

XanaX 21-10-2006 14:50

also spaß macht es schon, aber ob ich das oft brauchen werde ist die andere frage :P

ich denke aber schon das ich mir ein buch bestellen werde, dann hab ich imemr was wo ich wieder nachlesen kann

XanaX 23-10-2006 19:37

ich hab mir nun doch einmal folgenden code zusammen geschnippselt:

PHP-Code:

function isadmin()
{
    
$sql="SELECT UserId
    FROM users
    WEHRE UserSession='"
.session_id()."' AND IsAdmin='1'";
    
$resultmysql_query($sql) or die(mysql_error());
    return ( 
mysql_num_rows($result)==1);


dazu möchte ich noch sagen, ich habe in der Datenbank bei dem User der Admin sein soll den Wert 1 in der Spalte "IsAdmin" hinzugefügt.

Trotzdem funktioniert dieser code nicht, es erscheint folgender fehler:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UserSession='#########' AND IsAdmin='1'' at line 3


die idee habe ichmir von der überprüfung abgeschaut ob ein user eingeloggt ist oder nicht also der funktion:

PHP-Code:

function loggedin()
{
    
$sql="SELECT UserId
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
      return ( 
mysql_num_rows($result)==1);



liegt es an der 1 in dem obigen code?

wahsaga 23-10-2006 21:28

Der Fehler liegt fast immer kurz vor der Stelle, die angegeben wird.

Und jetzt schaust du dir deine Query noch mal an - und überlegst dann, wie genau der Engländer Wo? fragt ...

XanaX 23-10-2006 21:35

ich bin sicher es liegt an IsAdmin='1'
aber wie kann ich denn prüfen was in is admin drin steht?

wahsaga 23-10-2006 21:53

Zitat:

Original geschrieben von XanaX
ich bin sicher es liegt an IsAdmin='1'
Nein, tut es nicht.

Ich sagte doch - mit an Sicherheit grenzender Wahrscheinlichkeit kannst du, wenn MySQL was von "the right syntax to use near ..." sagt, davon ausgehen, dass der Fehler kurz vor der angegebenen Stelle liegt.
Und wo liegt dein IsAdmin='1'? Eben, weiter hinten.

Ich wiederhole es noch mal: Wie fragt der Engländer Wo?
(Noch expliziter: Wie schreibt er es?
Vermutlich richtig, im Gegensatz zu dir.
Jetzt aber mal Augen aufmachen, für noch mehr Zaunpfähle ist Holz zu teuer.)

onemorenerd 23-10-2006 21:54

WEHRE aufmerksam liest ist klar im Vorteil! :D

XanaX 23-10-2006 22:00

hmm ich habe das problem nun gelöst, ganz verwundert darüber das der fehler an fehlenden einzel-anführungsstrichen um users lag :S

kann mir denn jetzt noch jemand erklären wieso bei

PHP-Code:

function isadmin()
{
    
$sql="SELECT UserId
    FROM [B]users[/B] 
    WEHRE UserSession='"
.session_id()."' AND IsAdmin='1'";
    
$resultmysql_query($sql) or die(mysql_error());
    return ( 
mysql_num_rows($result));


anführungsstriche drum sein müssen und bei


PHP-Code:

function loggedin()
{
    
$sql="SELECT UserId
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
      return ( 
mysql_num_rows($result)==1);


nicht?

onemorenerd 23-10-2006 22:51

Man eh, jetzt komm mal ausm Mustopp, so begriffstutzig kann einer alleine doch gar nicht sein!

weHre ist etwas anderes als wHere :goth:

Wurzel 23-10-2006 23:00

Zitat:

Original geschrieben von onemorenerd jetzt komm mal ausm Mustopp, ...
OffTopic:
watt is datt denn ... neugierig fragt :eek:


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:22 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG