/ 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
Sessions og forms...
Fra : Stig Nørgaard Jepsen


Dato : 14-08-01 11:29

Jeg er ved at opbygge et script som laver nogle forms på forskellige sider.
Man kan så bladre imellem disse forskellige sider.
Mit problem går så ud på at jeg har svært ved at lægge nye informationer ind
i en session der allerede har et indhold. Den hænger nærmest i de data der
ligger i sessionen.

Nogen der har en fornuftig løsning?

Et eksempel som ikke virker!

<?session_start;
session_register("regthis");?>
<form action="<?echo $uri?>" method="post">
<input type="text" name="regthis" value="<?echo $regthis?>">
<?echo "<br>" . $regthis . "-regthis<br>";?>
<input type="submit" name="a" value="b">
</form>



 
 
Niels Andersen (14-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 14-08-01 11:47

"Stig Nørgaard Jepsen" <stigen@mail.dk> wrote in message
news:3b78fd46$0$286$edfadb0f@dspool01.news.tele.dk...
> Et eksempel som ikke virker!

Man kan ikke ændre i sessions-data med en form. Det ville være meget trist
hvis man kunne. :)
http://www.server.dk/login.php?isloggedin=true
Øvøv... :)

<?session_start;
session_register("regthis");?>
<form action="<?echo $uri?>" method="post">
<input type="text" name="newregthis" value="<?echo $regthis?>">
<?
if (isset($newregthis) && !empty($newregthis)) {
$regthis = $newregthis;
}
echo "<br>" . $regthis . "-regthis<br>";
?>
<input type="submit" name="a" value="b">
</form>

Mon ikke det virker?

--
Mvh.

Niels Andersen



Stig Nørgaard Jepsen (14-08-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 14-08-01 12:10

> Man kan ikke ændre i sessions-data med en form. Det ville være meget trist
> hvis man kunne. :)
> http://www.server.dk/login.php?isloggedin=true
> Øvøv... :)
>
> <?session_start;
> session_register("regthis");?>
> <form action="<?echo $uri?>" method="post">
> <input type="text" name="newregthis" value="<?echo $regthis?>">
> <?
> if (isset($newregthis) && !empty($newregthis)) {
> $regthis = $newregthis;
> }
> echo "<br>" . $regthis . "-regthis<br>";
> ?>
> <input type="submit" name="a" value="b">
> </form>

Desværre ikke helt. Du prøver at lave en slags buffer?
Hmm... det der sker er at hvis jeg submit to forskellige data i træk og
derefter bare trykker på submit nogle gange, så skifter den imellem de to
data.
Kan man ikke tømme eller ødelægge en bestemt session-variabel - altså efter
man har hentet dens indhold?
Jeg har fundet ud af at slette alle session-variabler... men ikke kun en.
Kan godt Unregister, men lige så snart jeg register igen, så har den sin
sidste værdi igen.

Mvh Stig




Niels Andersen (14-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 14-08-01 13:51

"Stig Nørgaard Jepsen" <stigen@mail.dk> wrote in message
news:3b7906f0$0$323$edfadb0f@dspool01.news.tele.dk...
> Desværre ikke helt. Du prøver at lave en slags buffer?

Nej. Jeg sætter sessionsvariablen manuelt. Man kan ikke ændre i en
sessionsvariabel direkte på den måde, som du prøver at gøre det på. Hvis du
tænker godt efter, vil du også kunne se, at det ville være noget rigtigt
skidt. :)

> Hmm... det der sker er at hvis jeg submit to forskellige data i træk og
> derefter bare trykker på submit nogle gange, så skifter den imellem de to
> data.

Jeg ville bare vise hvordan man putter information fra en form i en
sessionsvariabel, og det virker.

Hvis du læser det script jeg gav dig igennem, hvis du kunne se, at det er
ganske logisk at den opfører sig på den måde. Her har jeg byttet om på to
"blokke":

<?session_start;
session_register("regthis");
if (isset($newregthis) && !empty($newregthis)) {
$regthis = $newregthis;
}
?>
<form action="<?echo $uri?>" method="post">
<input type="text" name="newregthis" value="<?echo $regthis?>">
<?
echo "<br>" . $regthis . "-regthis<br>";
?>
<input type="submit" name="a" value="b">
</form>

Så virker det vist som du vi have det til.

> Kan man ikke tømme eller ødelægge en bestemt session-variabel - altså
efter
> man har hentet dens indhold?
> Jeg har fundet ud af at slette alle session-variabler... men ikke kun en.
> Kan godt Unregister, men lige så snart jeg register igen, så har den sin
> sidste værdi igen.

Hmm... "unset($regthis)" ?


Mvh.

Niels Andersen



Michael Rasmussen (14-08-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 14-08-01 13:57

In article <899e7.132$lL.2856@news000.worldonline.dk>, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:

<snip>
>> Kan man ikke tømme eller ødelægge en bestemt session-variabel - altså
> efter
>> man har hentet dens indhold?
>> Jeg har fundet ud af at slette alle session-variabler... men ikke kun
>> en. Kan godt Unregister, men lige så snart jeg register igen, så har
>> den sin sidste værdi igen.
> Hmm... "unset($regthis)" ?
> Mvh.
> Niels Andersen
>
</snip>
IMHO skal en side først være submittet før ændringer af sessionsvariable
finder sted, og for at sikre dette, skal man sørge for, at klienten ikke
cacher siderne. Fremgangsmåden løste ihvertfald mit problem

--
Hilsen/Sincerely

Michael Rasmussen

Stig Nørgaard Jepsen (14-08-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 14-08-01 14:38

> > Kan man ikke tømme eller ødelægge en bestemt session-variabel - altså
> efter
> > man har hentet dens indhold?
> > Jeg har fundet ud af at slette alle session-variabler... men ikke kun
en.
> > Kan godt Unregister, men lige så snart jeg register igen, så har den sin
> > sidste værdi igen.
>
> Hmm... "unset($regthis)" ?

session_unset (PHP 4 >= 4.0b4)

Free all session variables

void session_unset(void);

The session_unset() function free's all session variables currently
registered.



/Stig




Stig Nørgaard Jepsen (14-08-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 14-08-01 16:17

> Så virker det vist som du vi have det til.

Ja! Nu virker det som jeg vil ha' det :)

Skulle også igennem en hel del mere da jeg samtidig bruger en function til
at bygge input-forms'ene med. Men det er en længere historie.

Men nu virker det, med din model.

Takker mange gange!!

Mvh Stig



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

Månedens bedste
Årets bedste
Sidste års bedste