2 ranks system login.

Tags:    php

$user = $_SESSION['myusername'];
$pass = $_SESSION['mypassword'];

$sql = "SELECT * FROM $tbl_name WHERE username='$user' and password='$pass' ";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);


if ($row['level'] == 3) {
echo "Admin";
}
echo $row['level'];
echo "$user";




I den kode der ^^
er der en som kjan fortælle mig hvorfor den ikke vil skrive admin?

if row level = 3. så skal den srkive admin.
og row level er 3. men den skriver det ikke..

echo $row['level'];
echo "$user";
er bare for at se hvad den skriver.

$row['level']; skriver den intet
of $user srkiver den admin



Indlæg senest redigeret d. 02.02.2008 17:48 af Bruger #11875
10 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
hmm, er du sikker på at den hedder level og ikke Level eller lignende? Endvidere bør du gemme level i en session ligesom med username :)



Indlæg senest redigeret d. 02.02.2008 17:52 af Bruger #1330
Er du sikker på at din sql-syntaks er god nok?
Fold kodeboks ind/udKode 

Prøv at tilføj ". før variablerne og ." efter - altså:
Fold kodeboks ind/udKode 


Efter du har fetchet dit array kan du også prøve at tilføje
Fold kodeboks ind/udKode 

for at se om der rent faktisk bliver fetchet noget.



poster lige hele koden.
de 2 menuer skal som den viser.
den ene skal vises hvis man har level 3 og den anden else :D

Fold kodeboks ind/udKode 





level er 100% sådan det skrives i databasen lige copyet det :D




Indlæg senest redigeret d. 02.02.2008 17:55 af Bruger #11875
o_0 kan slet ikke få den til at registrer level i sesisons heller..

har prøvet 6 måder nu..

skriver mine 2 filer som de var fra starten.

MENU.php
Fold kodeboks ind/udKode 



CHECKLOGIN.php
Fold kodeboks ind/udKode 




en der lige akn lave så den tjekker om ens level er 3

hvis det ikke er 3 skal den vise den lille menu.
hvis 3 den store :)

og session ville være fint :)




user_id username password level
1 admin 8c801a24285aff8608f2066d486bdca5 3
3 guest 084e0343a0486ff05530df6c705c8bb4 1

det er min database

update:
brugte lige
print_r($_SESSION);

og se her..
Array ( [myusername] => admin [mypassword] => skjuler [3] =>


hvorfor skriver den 3 når den hedder level?
der står 3 i den men det hedder den jo ikke



Indlæg senest redigeret d. 02.02.2008 18:35 af Bruger #11875
$sql = "SELECT * FROM ".$tbl_name." WHERE username='".$user."' and password='".$pass."'";

virker ikke. så kan den ikke logge ind :)

og den print kode giver.

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0






Skriver lige filerne som de nu ser ud, efter nogle ganges edit :D

checklogin.php
Fold kodeboks ind/udKode 


menu.php
Fold kodeboks ind/udKode 



det eneste problem er at den ikke vil skrive level i session




Indlæg senest redigeret d. 02.02.2008 19:10 af Bruger #11875
problemet selv løst.
med denne kode.

$id = $_SESSION['myusername'];
$sql = "SELECT * FROM users WHERE username='$id'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if ($row['level'] != 3) {




t