Du kan väl lägga en variabel i sessionsvariabel (t.ex. user id).
Sedan kontrollerar du om denna variabel finns på varje sida där användaren ska vara inloggad.
Det är ett sätt.
/Grodan
5 svar · 256 visningar · startad av Webbmonstret
Har ganska nyligen börjat med PHP och databaser... Sitter lokalt (IIS) och kör MySQL. Nu en fråga om inloggning.
Jag kan kolla om värden som POSTas till min php-sida stämmer med de jag har i databasen. Så långt är allt bra, men hur skall jag, om användaren går till en annan sida (inom databassidorna), kunna kolla att han/hon är inloggad?
På PHP.net hittade jag servervariablerna ($HTTP_SERVER_VARS):
'PHP_AUTH_USER'
'PHP_AUTH_PW'
'PHP_AUTH_TYPE'
Men dessa går inte att använda med IIS om jag förstår det hela rätt!
Någon som vet hur man gör?
Du kan väl lägga en variabel i sessionsvariabel (t.ex. user id).
Sedan kontrollerar du om denna variabel finns på varje sida där användaren ska vara inloggad.
Det är ett sätt.
/Grodan
Jag är lite ny på det här! Kan du ge ett exempel?
Jag prövade att i en ny fil ('setvar.php') skriva:
<?
$_SESSION['user']="Markus";
?>
Sedan öppnar jag 'getvar.php' där det står:
<?
echo $_SESSION['user'];
?>
Men det funkar inte... Vad gör jag för fel?
:/
OK! Jag hittade det till slut. Man måste ju starta sessionen för varje sida. Koden skulle alltså se ut så här.
Längst upp i setvar.php:
<?
session_start();
$_SESSION['user']="Markus";
?>
I getvar.php:
<?
session_start();
?>
...
<?
echo $_SESSION['user'];
?>
session_start() måste finnas innan sidan "själv" får för sig att starta en session.
(Så fattade jag det i alla fall!
:)
He he, den som lusläser manualen skall få veta. :D