/ 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
sessioner?
Fra : Martin Ploug


Dato : 28-11-05 21:31

Hej

Hvordan er det nu lige det er med sessioner i php?

Jeg har fundet nedenstående script, og det ser ud til
at virke fint.
http://www.htmltips.dk/sessionerphp.html

Men er det muligt at få det til at fungere i det samme
script - altså på samme side?

Jeg har en gæstebog, hvor jeg øverst har:

<?
if ($navn) {
session_start(); // Lad os begynde!
session_register("navn"); // Gem $navn
}

?>

og længere nede i formularen:

<input type="text" name="navn" value="<? echo $navn;?>" style="border: 1px
solid #000000" size="20">

Se script her: http://www.detour.dk/blandet/gbog.phps


På forhånd tak.

Med venlig hilsen
Martin


----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 15 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



 
 
Thomas (29-11-2005)
Kommentar
Fra : Thomas


Dato : 29-11-05 00:10

On Mon, 28 Nov 2005 12:31:26 -0800, Martin Ploug <mploug@mail.tele.dk>
wrote:

>
> Jeg har en gæstebog, hvor jeg øverst har:
>
> <?
> if ($navn) {
> session_start(); // Lad os begynde!
> session_register("navn"); // Gem $navn
> }
>
> ?>
>
> og længere nede i formularen:
>
> <input type="text" name="navn" value="<? echo $navn;?>" style="border:
> 1px
> solid #000000" size="20">

<?php
session_start();
$_SESSION['navn'] = 'Ludvig';
.
.
.
?>

<input type="text" name="navn" value="<?php echo $_SESSION['navn']; ?>">


--
Thomas

Martin Ploug (29-11-2005)
Kommentar
Fra : Martin Ploug


Dato : 29-11-05 01:07


"Thomas" <Thomas@nospam.com> wrote in message
news.s0y3zqf0a2vt5q@asltsvg002.chc.domain...
> On Mon, 28 Nov 2005 12:31:26 -0800, Martin Ploug <mploug@mail.tele.dk>
> wrote:
>
> >
> > Jeg har en gæstebog, hvor jeg øverst har:
> >
> > <?
> > if ($navn) {
> > session_start(); // Lad os begynde!
> > session_register("navn"); // Gem $navn
> > }
> >
> > ?>
> >
> > og længere nede i formularen:
> >
> > <input type="text" name="navn" value="<? echo $navn;?>" style="border:
> > 1px
> > solid #000000" size="20">
>
> <?php
> session_start();
> $_SESSION['navn'] = 'Ludvig';
> .
> .
> .
> ?>
>
> <input type="text" name="navn" value="<?php echo $_SESSION['navn']; ?>">
>
>
> --
> Thomas

Hej Thomas

Når du skriver $_SESSION['navn'] = 'Ludvig';
kommer der så ikke til at stå Ludvig i input feltet?

Det jeg mener er, at sessionen skal gemme det navn, som brugeren
taster ind i feltet.

Idéen er, at i stedet for at formularen ryddes helt, hvis brugeren glemmer
at udfylde et felt, så skal formularen lade være med at rydde de felter,
som bfrugeren HAR udfyldt.

Skal der så istedet for stå noget med $_SESSION['navn'] = $navn; ?

Måske kan jeg klare valideringen med javascript i stedet for?

På forhånd tak.

- Martin


----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 15 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



Jesper H (29-11-2005)
Kommentar
Fra : Jesper H


Dato : 29-11-05 08:51

Navnet på dit brugernavns-tekstfelt er "navn" (da name="navn" ), så
det burde nok hedde noget i retning af:

<?php
session_start();
$_SESSION['navn'] = $_REQUEST['navn'];
.
.
.
?>

<input type="text" name="navn" value="<?php echo $_SESSION['navn'];
?>">

--
Mvh Jesper, http://fdf.dk/landsdel1/


Martin Ploug (29-11-2005)
Kommentar
Fra : Martin Ploug


Dato : 29-11-05 15:57

<jesper.haukrogh@gmail.com> wrote in message
news:1133250651.264142.236280@f14g2000cwb.googlegroups.com...
Navnet på dit brugernavns-tekstfelt er "navn" (da name="navn" ), så
det burde nok hedde noget i retning af:

<?php
session_start();
$_SESSION['navn'] = $_REQUEST['navn'];
.
.
.
?>

<input type="text" name="navn" value="<?php echo $_SESSION['navn'];
?>">

--
Mvh Jesper, http://fdf.dk/landsdel1/

Hej

Mange tak skal I have!
Nedenstående ser ud til at virke, som det skal.

Jeg har lige et tillægsspørgsmål. Når nu felterne
"holder på" indholdet ved submit (hvilket er meningen),
så kan man ikke længere rydde felterne ved at klikke på
reset knappen, og man kan heller ikke bare rydde et felt
ved at klikke i det - vel netop pga. sessionen.

Men er der en måde, hvorpå man kan løse det problem
(er det en længere historie)?
Eller må jeg bare acceptere, at det kan man ikke?

Tak.

Med venlig hilsen
Martin



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

<input type="text" name="navn" value="<?php echo $_SESSION['navn'];
?>">






Jesper H (30-11-2005)
Kommentar
Fra : Jesper H


Dato : 30-11-05 08:34

Når man trykker Reset (går ud fra du mener den reset-knap man kan
lave i forbindelse med forms), så bliver felterne lavet om til den
standardværdi, der er defineret for dem i koden - normalt er det
ingenting fordi value ikke er sat, men når du sætter value, definerer
du også standardværdien, som den vender tilbage til ved reset. Du kan
evt. løse det ved at lave en anden submit-knap, så du har to; en til
login (eller hvad det nu er), og en til reset. Eksempel:

<?php
if (isset($_REQUEST['godkend']) && ($_REQUEST['godkend'] == 'Login'))
{
session_start();
$_SESSION['navn'] = $_REQUEST['navn'];
}
?>

<input type="text" name="navn" value="<?php echo $_SESSION['navn'];
?>">
<input type="submit" name="godkend" value="Login">
<input type="submit" name="godkend" value="Reset">


Så vidt jeg lige kan gennemskue, så vil den kun tilskrive
$_SESSION['navn'] hvis man har trykket på Login-knappen. Har man
derimod trykket på Reset-knappen (som dog ikke er en reset knap i
html-mæssig forstand), vil man stadig poste noget til den side, man
bliver videresendt til (som så i dette tilfælde er den samme), men
denne behøver ikke tage sig af inputtet, hvormed $_SESSION['navn'] er
tom, og formen burde blive ryddet.

Det ER dog vist lidt at et hack, og ovenstående kode er ikke testet,
så måske den skal rettes lidt til.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Martin Ploug (30-11-2005)
Kommentar
Fra : Martin Ploug


Dato : 30-11-05 13:38


"Jesper H" <jesper.haukrogh@gmail.com> wrote in message
news:1133336027.499809.37720@g44g2000cwa.googlegroups.com...
Når man trykker Reset (går ud fra du mener den reset-knap man kan
lave i forbindelse med forms), så bliver felterne lavet om til den
standardværdi, der er defineret for dem i koden - normalt er det
ingenting fordi value ikke er sat, men når du sætter value, definerer
du også standardværdien, som den vender tilbage til ved reset. Du kan
evt. løse det ved at lave en anden submit-knap, så du har to; en til
login (eller hvad det nu er), og en til reset. Eksempel:

<?php
if (isset($_REQUEST['godkend']) && ($_REQUEST['godkend'] == 'Login'))
{
session_start();
$_SESSION['navn'] = $_REQUEST['navn'];
}
?>

<input type="text" name="navn" value="<?php echo $_SESSION['navn'];
?>">
<input type="submit" name="godkend" value="Login">
<input type="submit" name="godkend" value="Reset">


Så vidt jeg lige kan gennemskue, så vil den kun tilskrive
$_SESSION['navn'] hvis man har trykket på Login-knappen. Har man
derimod trykket på Reset-knappen (som dog ikke er en reset knap i
html-mæssig forstand), vil man stadig poste noget til den side, man
bliver videresendt til (som så i dette tilfælde er den samme), men
denne behøver ikke tage sig af inputtet, hvormed $_SESSION['navn'] er
tom, og formen burde blive ryddet.

Det ER dog vist lidt at et hack, og ovenstående kode er ikke testet,
så måske den skal rettes lidt til.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Hej Jesper

Ok, tak. Ja jeg ved heller ikke, om det virker.

Ville man måske også kunne bruge noget med

$_SESSION["navn"] = NULL;
$_SESSION["email"] = NULL;
$_SESSION["hjemmeside"] = NULL;
$_SESSION["besked"] = NULL;

i forbindelse med reset knappen i formen?

Hilsen Martin


----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 19 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



Jesper H (30-11-2005)
Kommentar
Fra : Jesper H


Dato : 30-11-05 19:03

Jow, det kan man vel nok, men så er det jo ikke kun formens indhold,
du rydder, så er det jo også de ting, der ligger i din $_SESSION
variabel, som dermed heller ikke vil være tilgængeligt på dine andre
sider. Det kommer vel bare lidt an på hvad du vil have din Reset-knap
til at gøre

--
Mvh
Jesper, http://fdf.dk/landsdel1/


Martin Ploug (30-11-2005)
Kommentar
Fra : Martin Ploug


Dato : 30-11-05 21:26


"Jesper H" <jesper.haukrogh@gmail.com> wrote in message
news:1133372999.487553.130330@g43g2000cwa.googlegroups.com...
Jow, det kan man vel nok, men så er det jo ikke kun formens indhold,
du rydder, så er det jo også de ting, der ligger i din $_SESSION
variabel, som dermed heller ikke vil være tilgængeligt på dine andre
sider. Det kommer vel bare lidt an på hvad du vil have din Reset-knap
til at gøre

--
Mvh
Jesper, http://fdf.dk/landsdel1/


Hej Jesper

Jamen i dette tilfælde er det bare en gæstebog, hvor alt foregår på den
samme
side, så reset må gerne eller skal faktisk rydde det der ligger i mine
session.

Mvh. Martin


----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 20 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



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

Månedens bedste
Årets bedste
Sidste års bedste