PHP hur gör man för att datorn glömmer inte slumptal som har han skrivit?

Trädvy Permalänk
Medlem
Registrerad
Apr 2016

PHP hur gör man för att datorn glömmer inte slumptal som har han skrivit?

Jag har skapat ett "Number Guessing Game" i PHP.
Datorn och Jag måste ange ett tal och jag måste gissa det tal som datorn visar.
När Sessionen är 0, datorn måste ange ett slumptal mellan 1~10.

Till det, jag gjorde klart. Men!!! problemet är
Det tal som datorn har angivit måste inte ändras permanent tills sessionen blir 0.
Vet ni hur gör man det?

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Aug 2009

Det är inte helt klart vad du vill göra. Skall värdet (slumptalet) för en given session vara statiskt eller skall det vara statiskt globalt för alla aktiva sessioner? Då webapplikationer är stateless så sparas inte sådan information mellan requests. Du får i så fall sköta det manuellt. Skall det vara globalt så är enklast att spara ner det i en fil eller databas.

Asus Zenith Extreme | 32gb DDR4 3200MHZ CL14 | Threadripper 1950X | 1080Ti
Asus Z97 Pro Gamer | 32gb ram DDR3 2400MHz | i7 4790k | 2 x R9 390 - Barnen fått ta över
Asrock P67 Extreme4 rev3 | 16gb DDR3 2400MHz | i7 2600K | R9 290 - Barnen fått ta över
En massa bärbara, servrar, RPi's och andra boxar

Trädvy Permalänk
Medlem
Registrerad
Apr 2016
Skrivet av inquam:

Det är inte helt klart vad du vill göra. Skall värdet (slumptalet) för en given session vara statiskt eller skall det vara statiskt globalt för alla aktiva sessioner? Då webapplikationer är stateless så sparas inte sådan information mellan requests. Du får i så fall sköta det manuellt. Skall det vara globalt så är enklast att spara ner det i en fil eller databas.

Hmm.. tyvärr jag är PHP nybörjare och jag inte har läst någonting om databas.
Det som vi har läst är Cookies och Sessions.
Det som vill jag göra är till exempel om datorn visar slumptalet 9 första gången, från nästa gång datorn måste alltid visa 9 tills Sessionen blir 0(Det vill säga starta om webbsida)
Eller tills när mitt tal blir lika med datorns slumptal.
Och sen jag ska göra så att datorns slumptal ska bli osynlig.

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Aug 2009
Skrivet av ProgrammeringElev:

Hmm.. tyvärr jag är PHP nybörjare och jag inte har läst någonting om databas.
Det som vi har läst är Cookies och Sessions.
Det som vill jag göra är till exempel om datorn visar slumptalet 9 första gången, från nästa gång datorn måste alltid visa 9 tills Sessionen blir 0(Det vill säga starta om webbsida)
Eller tills när mitt tal blir lika med datorns slumptal.
Och sen jag ska göra så att datorns slumptal ska bli osynlig.

Så du skall ha ett unikt slumpat tal för VARJE session? Som sedan skall hålla detta värde under hela den sessionens livslängd?
Olika besökare till sidan skall få OLIKA slumpade tal?

Asus Zenith Extreme | 32gb DDR4 3200MHZ CL14 | Threadripper 1950X | 1080Ti
Asus Z97 Pro Gamer | 32gb ram DDR3 2400MHz | i7 4790k | 2 x R9 390 - Barnen fått ta över
Asrock P67 Extreme4 rev3 | 16gb DDR3 2400MHz | i7 2600K | R9 290 - Barnen fått ta över
En massa bärbara, servrar, RPi's och andra boxar

Trädvy Permalänk
Medlem
Registrerad
Apr 2016
Skrivet av inquam:

Så du skall ha ett unikt slumpat tal för VARJE session? Som sedan skall hålla detta värde under hela den sessionens livslängd?
Olika besökare till sidan skall få OLIKA slumpade tal?

Jajaja
Slumptal jag kan skapa med rand(..., ....);
men jag vill göra att datorn ska hålla det värde från nästa sessionen

Trädvy Permalänk
Medlem
Plats
Hammarö
Registrerad
Jan 2004

Om du vill spara från föregående sessionen och inte vill spara genom databasen, så är det kakor som gäller. Då väljer du bara kakans värde i den PHP-funktion som du använder, och sen är det klart. Kakor och sessioner är i princip exakt samma sak dock. Det enda (som jag vet om) som är skillnaden mellan dem, är att kakor kan leva längre än vad sessioner gör.

Citera mig om du önskar ett snabbare svar.
Min blogg

Trädvy Permalänk
Medlem
Registrerad
Apr 2016
Skrivet av edgren:

Om du vill spara från föregående sessionen och inte vill spara genom databasen, så är det kakor som gäller. Då väljer du bara kakans värde i den PHP-funktion som du använder, och sen är det klart. Kakor och sessioner är i princip exakt samma sak dock. Det enda (som jag vet om) som är skillnaden mellan dem, är att kakor kan leva längre än vad sessioner gör.

Hmm.. Jag kan testa det tack!

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Aug 2009

Nej, kakor och sessions är inte samma sak. Kakor ligger sparade lokalt hos klienten. Använder man cookies så kan exempelvis klienten lätt öppna upp sin cookie och titta vad det slumpade talet är. Sessionsdata hålls av servern. Det enda rörande en session som sparas lokalt hos klienten är klientens sessions id.

Om du kör sessions (vilket du redan verkar göra) så ha en nyckel du sparar värdet för slumptalet i, kolla om detta värdet är satt (i så fall innehåller det ditt sluimptal som du kan använda), om inte så slumpar du fram ditt tal och sparar den i användarens sessions med nyckeln du valt.

Asus Zenith Extreme | 32gb DDR4 3200MHZ CL14 | Threadripper 1950X | 1080Ti
Asus Z97 Pro Gamer | 32gb ram DDR3 2400MHz | i7 4790k | 2 x R9 390 - Barnen fått ta över
Asrock P67 Extreme4 rev3 | 16gb DDR3 2400MHz | i7 2600K | R9 290 - Barnen fått ta över
En massa bärbara, servrar, RPi's och andra boxar

Trädvy Permalänk
Medlem
Plats
127.0.0.1 (Localhost)
Registrerad
Okt 2009

$_SESSION['Number'] = $number; //något sådant.