/ 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
Flere variabler i cookies
Fra : Thomas P


Dato : 28-05-01 17:43

Trods frygten for at blive overdynget med 27 indlæg om, der peger videre til
PHP's referencer omhandlende cookies, spørger jeg alligevel : Hvordan kan
jeg gemme flere variabler i én cookie, og så senere hente dem igen - hver
for sig. For hvis jeg nu har en cookie med navnet MinCookie og værdien "jeg
er sej", fremkalder jeg jo værdien ved at sige echo $MinCookie - plz help !

--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes



 
 
Jonas Delfs (28-05-2001)
Kommentar
Fra : Jonas Delfs


Dato : 28-05-01 17:53

"Thomas P" <blomme@post.com> skrev i en meddelelse
news:9etv44$agp$1@news.inet.tele.dk...
> Trods frygten for at blive overdynget med 27 indlæg om, der peger videre
til
> PHP's referencer omhandlende cookies, spørger jeg alligevel : Hvordan kan
> jeg gemme flere variabler i én cookie, og så senere hente dem igen - hver
> for sig. For hvis jeg nu har en cookie med navnet MinCookie og værdien
"jeg
> er sej", fremkalder jeg jo værdien ved at sige echo $MinCookie - plz help
!

øhh - du gemmer en cookie mere.
http://php.net/setcookie

--
Mvh. Jonas Delfs
http://delfs.dk

"Kun en tåbe rydder op. Et geni behersker kaos"



Christian Schmidt (28-05-2001)
Kommentar
Fra : Christian Schmidt


Dato : 28-05-01 17:56

Thomas P wrote:
>
> Trods frygten for at blive overdynget med 27 indlæg om, der peger videre til
> PHP's referencer omhandlende cookies, spørger jeg alligevel : Hvordan kan
> jeg gemme flere variabler i én cookie, og så senere hente dem igen - hver
> for sig. For hvis jeg nu har en cookie med navnet MinCookie og værdien "jeg
> er sej", fremkalder jeg jo værdien ved at sige echo $MinCookie - plz help !

Du kan lave en URL-enkodet streng (eksemplet antager, at kun $e
indeholder tegn, der skal enkodes (mellemrum, &, + m.fl)):

$value = "a=$a&b=$b&c=$c&d=$d&e=".rawurlencode($e);
setcookie('MinCookie', $value);

Denne streng kan så omdannes tilbage af parse_str()
<http://dk.php.net/manual/en/html/function.parse-str.html>.


En anden mulighed er at gemme dine variable i et array og så serialisere
dette vha. serialize()
<http://dk.php.net/manual/en/html/function.serialize.html>.


Christian

Niels (28-05-2001)
Kommentar
Fra : Niels


Dato : 28-05-01 19:41

Just as I expected, Thomas P came up with this:

>Trods frygten for at blive overdynget med 27 indlæg om, der peger videre til
>PHP's referencer omhandlende cookies, spørger jeg alligevel : Hvordan kan
>jeg gemme flere variabler i én cookie, og så senere hente dem igen - hver
>for sig. For hvis jeg nu har en cookie med navnet MinCookie og værdien "jeg
>er sej", fremkalder jeg jo værdien ved at sige echo $MinCookie - plz help !

Man kan faktisk oså lave arrays i cookies!

setcookie("mincookie[var1]", "16", 0);
setcookie("mincookie[var2]", "hejsa", 0);

(er ikke helt sikker på syntaxen)

Og vi tager den lige igen: Jeg mener *stadig* det er smartere at bruge
$HTTP_COOKIE_VARS[] når man skal have fat på cookies! Eksempel:
Brugeres taster denne url:
http://www.flowcode.f2s.com/index.php?validlogin=1
Hvis vu nu forestillede os du da faktisk bare satte en cookie der hed
"validlogin" når man var logget ind og du bare tjekkede for variablen
$validlogin , hvordan kan du så vide om den kommer fra en cookie, en GET
variabel eller en POST variabel? Det står simpelthen og skriger
Sikkerhedshul!!

--
Niels aka. niLLer aka. G4S
<-------------------------<=\ CONTACT /=>---------->
e-mail: nmartin at iname dot com | ICQ UIN: 50187323
---> http://www.niller.f2s.com/ <-- niLLer's pages -

Jonas Delfs (28-05-2001)
Kommentar
Fra : Jonas Delfs


Dato : 28-05-01 19:50

"Niels" <nmartin@ispam.com> skrev i en meddelelse
news:3b129af3.24778195@news.12move.dk...
> Just as I expected, Thomas P came up with this:
>
> Og vi tager den lige igen: Jeg mener *stadig* det er smartere at bruge
> $HTTP_COOKIE_VARS[] når man skal have fat på cookies! Eksempel:
> Brugeres taster denne url:
> http://www.flowcode.f2s.com/index.php?validlogin=1
> Hvis vu nu forestillede os du da faktisk bare satte en cookie der hed
> "validlogin" når man var logget ind og du bare tjekkede for variablen
> $validlogin , hvordan kan du så vide om den kommer fra en cookie, en GET
> variabel eller en POST variabel? Det står simpelthen og skriger
> Sikkerhedshul!!

Ja, men man tjekker forhåbentligt ikke bare "valide brugere" ved at sætte en
variabel til 1 i sit script!

--
Mvh. Jonas Delfs
http://delfs.dk

"Kun en tåbe rydder op. Et geni behersker kaos"



Martin Højriis Krist~ (28-05-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 28-05-01 21:15

"Jonas Delfs" <nospam@delfs.dk> skrev i en meddelelse
news:9eu6jk$b12$1@sunsite.dk...
> Ja, men man tjekker forhåbentligt ikke bare "valide brugere" ved at sætte
en
> variabel til 1 i sit script!

Lyder da meget tilforladeligt

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet


Anders K. Madsen (29-05-2001)
Kommentar
Fra : Anders K. Madsen


Dato : 29-05-01 23:19

Hvad for noget?

>> Ja, men man tjekker forhåbentligt ikke bare "valide brugere" ved at
>> sætte
>> en
>> variabel til 1 i sit script!


> Lyder da meget tilforladeligt

Overhovedet ikke!!!!!!!!!!!!!!
Man kunne måske i det mindste kryptere skidtet.....
----- Nå, men... -----
Der er vel egentlig kun en måde at sætte flere værdier i en og samme
cookie....
Sæt/kald flere variabel-værdier i EN streng v.h.a. implode() og explode()...
Eks.:
<?
## Start buffering af output så cookien kan sættes...
ob_start();

## Lav et array med værdierne for cookien.
$liste = array("tak","for","fisk");

## Konverter arrayet til en kolon-separeret streng.
$streng = implode(":",$liste);
# Test om det virkede...
echo "$streng\n"; // Burde returnere "Array" hvis det ikke lykkedes....

## Sæt cookie...
setcookie("kage",$streng,time()+3600); // Udløber om 3600 sek.

## Flush output-buffer, nu da cookien burde være sat...
ob_end_flush();
?>

For at trække info fra cookien brug nedenstående.

<?
## Træk værdier fra cookien "kage".
# Konverter kolon-separerede streng til et array.
$liste = explode(":",$streng);

## Test om det virkede.
for($i=0;$i<sizeof($liste);$i++){ //Sats på at sizeof() er 1-baseret.
   echo "$liste[$i]\n";
}
?>

Hvis ovenstående virker (tag eventuelt højde for et par parse-err's) så
skulle outputtet af sidstnævnte script gerne blive:

   tak
   for
   fisk

Håber det kan bruges....
Mvh. ~Madsen

Christian Joergensen (30-05-2001)
Kommentar
Fra : Christian Joergensen


Dato : 30-05-01 08:17

Anders K. Madsen <madsen@sjovedyr.dk> wrote:

> ## Lav et array med værdierne for cookien.
> $liste = array("tak","for","fisk");
>
> ## Konverter arrayet til en kolon-separeret streng.
> $streng = implode(":",$liste);

Hvad hvis nu der stod:
$liste = array("hej:med:dig",":::::",":d:u:r:u:m:");

--
Christian Jørgensen | "Ford, you're turning into a penguin"
http://www.razor.dk | "Stop it"

Stefan Bruhn (30-05-2001)
Kommentar
Fra : Stefan Bruhn


Dato : 30-05-01 12:15

On Wed, 30 May 2001 00:19:04 +0200, "Anders K. Madsen"
<madsen@sjovedyr.dk> wrote:

>## Konverter arrayet til en kolon-separeret streng.
>$streng = implode(":",$liste);

Ville dette ikke være smartere?
$streng = serialize($streng);

Mvh. / Regards Stefan Bruhn
--
<?$email = unserialize("a:15:{i:0;i:115;i:1;i:116;i:2;i:101;i:3;i:102
;i:4;i:97;i:5;i:110;i:6;i:64;i:7;i:98;i:8;i:114;i:9;i:117;i:10;i:104
;i:11;i:110;i:12;i:46;i:13;i:116;i:14;i:111;}");
for ($i=0;$i<=15;$i++) {echo chr($email[$i]);}?>

Martin Højriis Krist~ (30-05-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 30-05-01 17:19

"Anders K. Madsen" <madsen@sjovedyr.dk> skrev i en meddelelse
news:jaVQ6.1949$dS3.88357@news010.worldonline.dk...
> > Lyder da meget tilforladeligt
> Overhovedet ikke!!!!!!!!!!!!!!

Som skrevet i en anden tråd:
"You have been mildly trolled"

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet


Søg
Reklame
Statistik
Spørgsmål : 177556
Tips : 31968
Nyheder : 719565
Indlæg : 6408862
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste