webForumDet fria alternativet

Inloggad?

5 svar · 256 visningar · startad av Webbmonstret

WebbmonstretMedlem sedan nov. 200060 inlägg
#1

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?

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?

GrodanBollMedlem sedan sep. 2001788 inlägg
#2

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

WebbmonstretMedlem sedan nov. 200060 inlägg
#3

Jag är lite ny på det här! Kan du ge ett exempel?

WebbmonstretMedlem sedan nov. 200060 inlägg
#4

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?

:/

WebbmonstretMedlem sedan nov. 200060 inlägg
#5

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!

:)

GrodanBollMedlem sedan sep. 2001788 inlägg
#6

He he, den som lusläser manualen skall få veta. :D

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)