/ 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
$_POST i en cookie
Fra : Michael Christoffers~


Dato : 17-06-06 18:37

Hej

Jeg har brug for at kunne ligge alle variabler fra $_post i en cookie.

Nogen der har et godt script til det ?



Mvh
Michael

 
 
Ulrik Nielsen (17-06-2006)
Kommentar
Fra : Ulrik Nielsen


Dato : 17-06-06 19:23

Michael Christoffersen wrote:
> Hej
>
> Jeg har brug for at kunne ligge alle variabler fra $_post i en cookie.
>
> Nogen der har et godt script til det ?

udover at det er en dårlig ide, så:

foreach ($_POST as $key => $val) {
$_COOKIE[$key] = $val;
}

--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | secretary plugged hairdryer into UPS
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Michael Christoffers~ (17-06-2006)
Kommentar
Fra : Michael Christoffers~


Dato : 17-06-06 20:59

Tak

Er der en bedre måde at "gemme" indtastede oplysninger i en formular til
næste gang brugeren besøger siden, uden at skulle bruge login og database?
Der er over 200 felter/variabler der skal kunne huskes.

Michael

Ulrik Nielsen wrote:
> Michael Christoffersen wrote:
>> Hej
>>
>> Jeg har brug for at kunne ligge alle variabler fra $_post i en cookie.
>>
>> Nogen der har et godt script til det ?
>
> udover at det er en dårlig ide, så:
>
> foreach ($_POST as $key => $val) {
> $_COOKIE[$key] = $val;
> }
>

Ulrik Nielsen (18-06-2006)
Kommentar
Fra : Ulrik Nielsen


Dato : 18-06-06 07:06

Michael Christoffersen wrote:
> Tak
>
> Er der en bedre måde at "gemme" indtastede oplysninger i en formular til
> næste gang brugeren besøger siden, uden at skulle bruge login og database?
> Der er over 200 felter/variabler der skal kunne huskes.
>
nu siger du "ingen database", det var ellers det mest oplagte bud.
- ellers kunne du lave din "egen database" med en fil gemt på serveren
med et md5'et filnavn, som du så gemmer i en cookie.

mvh
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | secretary plugged hairdryer into UPS
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Thomas Lindgaard (19-06-2006)
Kommentar
Fra : Thomas Lindgaard


Dato : 19-06-06 11:14

Ulrik Nielsen wrote:
> nu siger du "ingen database", det var ellers det mest oplagte bud.
> - ellers kunne du lave din "egen database" med en fil gemt på serveren
> med et md5'et filnavn, som du så gemmer i en cookie.

Hvad med at benytte sessions?

Gem info i session:

<?php
session_start();
$_SESSION['post_variable'] = $_POST;
?>

og hent info igen:

<?php
session_start();
$post_variable = $_SESSION['post_variable'];
?>

Session-data gemmes i en fil på serveren, og der sendes et session-id
med i en cookie.

--
Mvh.
/Thomas

Ulrik Nielsen (19-06-2006)
Kommentar
Fra : Ulrik Nielsen


Dato : 19-06-06 12:21

Thomas Lindgaard wrote:
> Ulrik Nielsen wrote:
>> nu siger du "ingen database", det var ellers det mest oplagte bud.
>> - ellers kunne du lave din "egen database" med en fil gemt på serveren
>> med et md5'et filnavn, som du så gemmer i en cookie.
>
> Hvad med at benytte sessions?
>
> Session-data gemmes i en fil på serveren, og der sendes et session-id
> med i en cookie.

det er rigtigt, men hvis dataene skal gemmes mellem brugersessioner skal
han i hvert fald huske at sætte timeouten op på sessionen :)

mvh
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | loop found in loop in redundant loopback
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Michael Christoffers~ (19-06-2006)
Kommentar
Fra : Michael Christoffers~


Dato : 19-06-06 15:56

Thomas Lindgaard wrote:
> Ulrik Nielsen wrote:
>> nu siger du "ingen database", det var ellers det mest oplagte bud.
>> - ellers kunne du lave din "egen database" med en fil gemt på serveren
>> med et md5'et filnavn, som du så gemmer i en cookie.
>
> Hvad med at benytte sessions?
>
> Gem info i session:
>
> <?php
> session_start();
> $_SESSION['post_variable'] = $_POST;
> ?>
>
> og hent info igen:
>
> <?php
> session_start();
> $post_variable = $_SESSION['post_variable'];
> ?>
>
> Session-data gemmes i en fil på serveren, og der sendes et session-id
> med i en cookie.
>


Er ikke helt med.

"$post_variable" indeholder alle variabler fra $_post. Skal jeg så
efterfølgende smider $post_varable i en cookie med setcookie()?
Ellers forsvinder alle oplysningerne når browseren bliver lukket.

Thomas Lindgaard (21-06-2006)
Kommentar
Fra : Thomas Lindgaard


Dato : 21-06-06 08:55

Michael Christoffersen wrote:

> Er ikke helt med.
>
> "$post_variable" indeholder alle variabler fra $_post. Skal jeg så
> efterfølgende smider $post_varable i en cookie med setcookie()?
> Ellers forsvinder alle oplysningerne når browseren bliver lukket.

Nej, det er ikke helt sådan det fungerer.

Session-data gemmes i filer på serveren. Når man starter en session
(dvs. kalder session_start()), så sker der en af to ting:

1) Såfremt der _ikke_ ligger en cookie på klienten med et session_id,
så oprettes der en fil til den nye session, og der smides en cookie
med det tilhørende id.

2) Hvis der findes en cookie med et session-id, så hentes session-data
fra filen og lægges i $_SESSION.

Den måde man bruger sessions på, er som jeg beskrev i mit første indlæg:
Man kalder session_start() øverst på siden (skal så vidt jeg husker
kaldes _inden_ der bliver sendt output til klienten - der skal jo evt.
sættes en cookie mv.). Når session_start() er kaldt, har man automagisk
et array $_SESSION, som man kan misbruge på det groveste, og alt man
gemmer i det, bliver igen automagisk tilgængeligt på næste side, hvor
man (gen-)starter session'en.

Side1.php:
<?php
session_start();
$_SESSION['splof'] = 'Feta er en ost, som man _ikke_ bør spise';
?>

Side2.php:
<?php
session_start();
print $_SESSION['splof'];
?>

Håber det hjælper på forståelsen.

--
Mvh.
/Thomas

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

Månedens bedste
Årets bedste
Sidste års bedste