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