Loginscript volder problemer efter skift

Tags:    php mysqli

Hej
Efter at være gået igang med at udskifte MySQL-API'et på min side med MySQLi har jeg indtil videre kun haft ganske få problemer. Men nu har jeg altså fundet et som jeg har en smule svært ved at genneskue.
For det første har jeg lavet selve scriptet til at hente brugeroplysningerne her:
Fold kodeboks ind/udPHP kode 

Så har jeg koblet et ekstra if/else-statement på, som skal tjekke om der overhovedet er fundet data:
Fold kodeboks ind/udPHP kode 

I sidst nævnte kode for jeg fejlen fra else, altså værdien af $_SESSION['fail'].
Men forstår bare ikke hvorfor den ikke vil gøre som den skal. Jeg har tjekket at mit password er korrekt indtastet, men hvorfor det ikke virker, kan jeg ikke finde ud af.



9 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Bare for en god ordens skyld: har du husket session_start() ?



Ja, den har jeg placeret øverst i min fil. Uden den er mine sessions jo ubrugelige.

EDIT: Blot for god ordens skyld, så er her det fulde login-script:
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 12.09.2012 18:12 af Bruger #17072
Nåå læste det nederste i dit spørgsmål forkert. Sorry.

Hvor sætter du variablen $user_id henne? Og hvad får den indhold af. For jeg ville tro at du skulle gøre noget lign.:

Fold kodeboks ind/udPHP kode 




Jeg får $user_id herfra:
$stmt->bind_result($user_id, $brugernavn, $name, $virksomhed, $usergroup);



Ja, men skal du ikke tjekke på om der er nogle resultater? Ligesom mysql_num_rows? For så ville jeg mene at du skulle erstatte

Fold kodeboks ind/udPHP kode 


med

Fold kodeboks ind/udPHP kode 




I MySQL har jeg gjort således:
Fold kodeboks ind/udPHP kode 

Fordi i MySQL gav det fejl, hvis min array var tomt eller ikke kunne bygges. Men havde lidt på fornemmelsen at jeg skulle bygge det lidt anderledes med MySQLi. Dog har jeg lige forsøgt med den ændring i koden du foreslog, dog uden resultat.



Nu skal du jo huske at PHP læser oppe fra og ned ikke hist og her derfor skal du huske at sætte $password og $username ovenover

sådan her

Fold kodeboks ind/udPHP kode 


Virker det ?



Nu bruger jeg selv PDO men et bud:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 12.09.2012 21:59 af Bruger #3427
@Rix: Gav det et forsøg, men desværre ingen forskel.
@Kenneth: Forsøgte at rette det til som du havde skrevet det og fik desværre stadig en fejl.


Nogen andre gode forslag?

EDIT: Så fandt jeg ud af det. Her er løsningen:
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 16.09.2012 07:36 af Bruger #17072
t