/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Cookie og session
Fra : christoffer


Dato : 17-02-05 14:13

Hej! jeg har gang i mit første community, og det virker fint med
at logge ind, men man skulle helst undgå at logge ind på hvert
enkelt side hele tiden, så har forstillet mig noget med cookie og
sessions. Problemet er bare at jeg ikke kender en døjt til det,
så har ikke de store muligheder for at lave det.
Nogen som kan hjælpe, eller komme med et link?

Christoffer

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Benny Nissen (17-02-2005)
Kommentar
Fra : Benny Nissen


Dato : 17-02-05 14:23

christoffer wrote:
> Hej! jeg har gang i mit første community, og det virker fint med
> at logge ind, men man skulle helst undgå at logge ind på hvert
> enkelt side hele tiden, så har forstillet mig noget med cookie og
> sessions. Problemet er bare at jeg ikke kender en døjt til det,
> så har ikke de store muligheder for at lave det.
> Nogen som kan hjælpe, eller komme med et link?

Læs lidt i manualen:
http://dk2.php.net/manual/da/function.setcookie.php
http://dk2.php.net/manual/da/ref.session.php


--
Benny Nissen
http://bennynissen.dk

zigma.dk (17-02-2005)
Kommentar
Fra : zigma.dk


Dato : 17-02-05 17:49

> Nogen som kan hjælpe, eller komme med et link?

Af links har du lige fået de bedste, så nu får du en kort
beskrivelse af de to ting:

Cookie sættes sådan:
setcookie("cookienavn","cookieværdi");

F.eks:
$navn="Kasper";
$seconds=60; // Så "holder" cookien i et minut
setcookie("navn",$navn,time()+$seconds);

Så er cookien sat. Herefter kan den hentes frem ved at skrive:
echo $_COOKIE["navn"]; // output: Kasper

Du kan også vælge ikke at skrive nogen tidsbegrænsning:

setcookie("navn",$navn);

og så holder cookien til alle browsere er lukket ned.



Sessions sættes ved at skrive:

session_start(); // Nu starter vi session =)
$_SESSION["sessionnavn"]="sessionværdi";

F.eks:

session_start(); // HUSK den nu! =)
$navn="Kasper";
$_SESSION["navn"]=$navn;

Og vi henter den igen ved at skrive:
session_start(); // Hvis den da ikke allerede at sat
echo $_SESSION["navn"]; // Output: Kasper

Med sessions kan du ikke sætte expire, altså tidsbegrænsning på.



Hvis du vil lave et login-system vil jeg foreslå at bruge session.

Et kort eksempel kunne være:

session_start();
if($bruger=="kasper" AND $kode=="minkode123"){
$_SESSION["login"]="1";
}else{
$_SESSION["login"]="0";
}


...og så selvfølgelig lige tjekke på dine login-krævede sider om
$_SESSION["login"]=="1" eller ej

Håber du får hul på det =)

// Zigma

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer (17-02-2005)
Kommentar
Fra : Christoffer


Dato : 17-02-05 19:13

> Sessions sættes ved at skrive:
>
> session_start(); // Nu starter vi session =)
> $_SESSION["sessionnavn"]="sessionværdi";
>
> F.eks:
>
> session_start(); // HUSK den nu! =)
> $navn="Kasper";
> $_SESSION["navn"]=$navn;
>
> Og vi henter den igen ved at skrive:
> session_start(); // Hvis den da ikke allerede at sat
> echo $_SESSION["navn"]; // Output: Kasper
>
> Med sessions kan du ikke sætte expire, altså tidsbegrænsning på.
>
>
>
> Hvis du vil lave et login-system vil jeg foreslå at bruge session.
>
> Et kort eksempel kunne være:
>
> session_start();
> if($bruger=="kasper" AND $kode=="minkode123"){
> $_SESSION["login"]="1";
> }else{
> $_SESSION["login"]="0";
> }
>
>
> ..og så selvfølgelig lige tjekke på dine login-krævede sider om
> $_SESSION["login"]=="1" eller ej
>
> Håber du får hul på det =)
Tror jeg er ved at have det, dropper cookies og holder mig til sessions...
har dog lige endnu et spørgsmål til det. Jeg har på min side en div som
skifter mellem min login-form hvis brugeren ikke er logget ind, og ellers
skifter den mellem 3 niveauer af access, alt efter hvilken rank de er
tildelt... hvordan ordner jeg det med sessions?? min kode til div er sådan
her

<?php switch (intval($bruger[level])) {
case 1:
print "webmaster funktioner";
break;
case 2:
print "moderator funktioner";
break;
case 3:
print "bruger funktioner";
break;
default:
print "
<form><input type='text' name='navn' value='Navn'><br><input
type='text' name='navn' value='pass'><br><input type='submit' name='login'
value='login'></form>";
break;}
?>



zigma.dk (17-02-2005)
Kommentar
Fra : zigma.dk


Dato : 17-02-05 22:32

> Jeg har på min side en div som
> skifter mellem min login-form hvis brugeren ikke er logget ind, og ellers
> skifter den mellem 3 niveauer af access, alt efter hvilken rank de er
> tildelt... hvordan ordner jeg det med sessions?? min kode til div er sådan
> her
>
> <?php switch (intval($bruger[level])) {
&gt; case 1:
&gt; print "webmaster funktioner";
&gt; break;
&gt; case 2:
&gt; print "moderator funktioner";
&gt; break;
&gt; case 3:
&gt; print "bruger funktioner";
&gt; break;
&gt; default:
&gt; print "
&gt; <form><input type='text' name='navn' value='Navn'><br><input
&gt; type='text' name='navn' value='pass'><br><input type='submit'
name='login'
&gt; value='login'></form>";
> break;}
> ?>

Så kan du f.eks sætte en session når brugeren logger ind, som indeholder
access-level. F.eks:
session_start();
$_SESSION["accesslevel"]="2"


og så lave et output som er bestemt af værdien er $_SESSION["accesslevel"]
F.eks:

if($_SESSION["accesslevel"]=="1"){
echo "Knap, link og andet godt";
}elseif($_SESSION["accesslevel"]=="2"){
echo "Kun link og andet godt";
}else{
echo "Standard indhold";
}


// Zigma

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste