PHP -sesjonsdirektiver
Alle sesjonsrelaterte direktiver kan settes ved å bruke PHP.Inn jeg fil. Noen nyttige øktrelaterte PHP-direktiver er nevnt.
Øktdirektiv | hensikt |
---|---|
økt.save_handler | Verdien av direktivet kan være filer eller mm eller sqlite eller bruker. De mm brukes til å håndtere øktdata ved å bruke minne. De sqlite brukes til å håndtere data ved å bruke SQLite -database. De bruker brukes til å håndtere data ved å bruke den brukerdefinerte funksjonen. |
Session_auto_start | Verdien av dette direktivet vil være På å starte økten automatisk; Ellers vil det være Av. |
økt.Navn | Det brukes til å angi øktnavnet og standard sesjonsnavn er phpsessid. |
økt.save_path | Den brukes til å angi banen der sesjonsinformasjonen vil bli lagret. Standardverdien for dette direktivet er filer. |
økt.hash_funksjon | Den brukes til å generere en hash -økt -ID. 0 brukes MD5 algoritme og 1 brukes til Sha algoritme. |
økt.cache_expire | Det brukes til å sette utløpstiden for økten. |
økt.use_cookies | Den brukes til å lagre økt -IDen ved å ansette informasjonskapselen. 1 brukes til å bruke informasjonskapsler og 0 er bemannet for ikke å bruke informasjonskapselen. |
økt.use_only_cookies | Den brukes til å bruke informasjonskapselen bare for lagring av økt -ID. |
økt.cookie_secure | Det brukes til å definere om cookien vil bruke den sikre forbindelsen eller ikke. Det er aktivert ved å bruke ON og deaktivert ved å bruke Av verdier. |
økt.cookie_lifetime | Det brukes til å sette levetiden til cookien. |
Du kan besøke følgende lenke for å vite mer om sesjonsdirektivene.
https: // www.PHP.nett/manuell/en/ini.liste.PHP
PHP -øktfunksjoner
PHP har mange innebygde funksjoner for økthåndteringsoppgaver. Noen nyttige økthåndteringsfunksjoner er nevnt nedenfor.
Øktfunksjon | hensikt |
---|---|
Session_Start () | Det brukes til å starte en ny økt eller starte forrige økt på nytt. |
øktnummer() | Det brukes til å stille eller få eller begge sette og få økt -ID. |
session_create_id () | Den brukes til å lage en ny økt -ID. |
Session_name () | Det brukes til å sette eller få eller begge sette og få gjeldende øktnavn. |
Session_status () | Det brukes til å få informasjon om den nåværende statusen til økten. |
Session_reset () | Det brukes til å initialisere øktarrayen på nytt. |
Session_unset () | Det brukes til å ikke definert alle sesjonsvariabler. |
Session_Destroy () | Det brukes til å ødelegge alle registrerte øktdata. |
Session_encode () | Den brukes til å kode gjeldende øktdata. |
Session_decode () | Den brukes til å avkode de kodede gjeldende øktdataene. |
Session_Commit () | Det brukes til å skrive øktdata og lukke økten. |
Session_abort () | Det brukes til å fjerne endringene i øktarrayen og lukke økten. |
Session_regenerate_id () | Det brukes til å generere en ny økt for den eksisterende økten. |
session_cache_limiter () | Det brukes til å sette eller få hurtigbegrenseren til den aktuelle økten. |
Session_cache_expire () | Det brukes til å stille inn eller få hurtigbufferen til å utløpe tiden for den aktuelle økten. |
Du kan besøke følgende lenke for å vite mer om de innebygde sesjonsfunksjonene til PHP: https: // www.PHP.nett/manual/no/ref.økt.PHP.
PHP -øktvariabel
PHP bruker et assosiativt utvalg som heter $ _Session For lagring av øktdata. Det er 'superglobal' variabel som kan nås hvor som helst i manuset. Verdiene initialiseres i denne variabelen etter å ha opprettet en økt, og denne variabelen blir usett etter å ha ødelagt økten.
Økthåndtering
Økthåndteringen kan gjøres av webserveren ved å bruke databasen eller filen. Økthåndteringen kan gjøres ved å bruke nettleseren til brukeren hvis nettleseren støtter informasjonskapslene. Men hvis nettleseren er deaktivert av brukeren, kan ikke denne måten brukes til økthåndtering. Så å bruke webserveren er den beste måten å håndtere økter på. Trinnene for økthåndtering er nevnt nedenfor.
Opprett og skriv økt -IDen
PHP har to innebygde funksjoner for å opprette eller starte en tidligere økt på nytt, og de som er nevnt tidligere i denne opplæringen. Bruken Session_Start () Funksjon har blitt vist her som brukes til å generere en ny økt eller generere en tidligere økt på nytt. Den sjekker økten for den besøkende og oppretter en ny økt hvis besøkende besøker siden første gang. Lag en PHP-fil med følgende skript som oppretter en ny økt for besøkende og genererer en unik sesjons-ID som er skrevet ut av en annen innebygd funksjon som heter øktnummer().
// Start en ny øktProduksjon
Følgende utdata vises etter å ha utført skriptet ovenfor fra nettleseren. Den unike økt -IDen er skrevet ut her, og denne IDen vil forbli uendret hver gang siden er oppdatert. Hvis nettleseren er lukket og åpnet igjen for å utføre dette skriptet, vil en ny økt-ID bli skrevet ut.
Lagre og skriv inn øktdataene
Variabelen $ _Session er påkrevd å initialiseres etter å ha opprettet økt -ID for å lagre øktdataene. Opprett en PHP -fil med følgende skript som lagrer verdien av "Navn" -tasten til $ _Session [] -variabelen etter å ha startet en ny økt. De Isset () Funksjonen har blitt brukt i skriptet for å sjekke $ _Session ['Name'] -variabelen er satt eller usett. Hvis verdien ikke er set for denne variabelen, vil det bli satt en verdi for denne variabelen. Hvis verdien er satt for denne variabelen, vil verdien av denne variabelen bli skrevet ut med formateringen.
// Start en ny øktNy økt er startet for brukeren.
";Velkommen tilbake, ' . $ _Session ["Navn"] . '.
';Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor første gang. I følge utdataene har en ny økt -ID blitt generert for besøkende fordi brukeren besøker siden for første gang. Variabelen $ _Session ['Name'] er initialisert med en strengverdi og en melding er skrevet ut for den nye økten.
Følgende utdata vises hvis brukeren besøker siden neste gang. Verdien av $ _Session ['Name'] -variabelen er skrevet ut her. Følgende melding vises hver gang til økten er ødelagt eller øktdataene blir fjernet eller nettleseren blir åpnet igjen.
Lag en økt etter å ha godkjent brukeren
Normalt opprettes økten for den registrerte brukeren av nettstedet etter å ha godkjent brukeren basert på gyldige data for å forhindre uautorisert tilgang til brukeren for sensitive data. Økthåndteringen er veldig viktig for e-handelsnettstedet for å spore brukerens aktivitet. Dataene relatert til brukerens autentisering lagres i databaseserveren som MySQL, SQLite, SQL Server, PostgreSQL, etc. Brukerinformasjonen for godkjenningen er lagret i tekst her for enkelhet. Lag en tekstfil som heter Brukere.tekst Med følgende innhold og filen inneholder navn, e -post, brukernavn og passord for tre brukere. Hvert felt er atskilt med et komma (,) i filen. Autentiseringen vil bli bekreftet ved å bruke brukernavnet eller e -posten og passordet.
Brukere.tekst
Navn, e -post, brukernavn, passordLag en HTML -fil som heter innloggingsskjema.html Med følgende skript som viser et påloggingsskjema med to tekstfelt og en innsendingsknapp. Brukernavnet eller e -posten vil bli tatt i det første tekstfeltet, og passordet vil bli tatt i det andre tekstfeltet. Når sendeknappen trykker på, blir siden omdirigert til Session3.PHP som vil bli opprettet senere.
innloggingsskjema.html
Lag en PHP -fil med følgende skript som autentiser påloggingsinformasjonen basert på dataene til Brukere.tekst fil og initialiserer øktdataene etter å ha godkjent brukeren. De $ pålogging Variabel har blitt brukt til å spore om den innsendte påloggingsinformasjonen er gyldig eller ugyldig og den opprinnelige verdien av denne variabelen er falsk. Den første ISSET () -funksjonen vil bli brukt til å sjekke om $ _Session ['Name'] -variabelen er satt eller usett. Hvis denne variabelen er uset, vil den andre ISSET () -funksjonen bli brukt til å sjekke verdien av $ _Post ['UserMail'] variabel. Hvis verdiene til denne variabelen er angitt, vil de innsendte skjemaverdiene lagres i to variabler. Hvis verdiene til disse variablene er ikke-tomme, er det Brukere.tekst Filen vil bli åpnet for lesing for å sjekke det innsendte skjemaverdiene med verdiene på e -posten eller brukernavnet og passordet til enhver bruker av tekstfilen. De eksplodere() Funksjon har blitt brukt til å dele opp hver linje i filen basert på komma (,) og lagre de delte verdiene i fire variabler. De listverk() Funksjonen har blitt brukt for å fjerne ekstra plass fra begge sider av variabelen. Hvis det blir funnet noen matchende oppføring, vil variabelen $ _Session ['Name'] bli initialisert med navnet på den matchende brukeren som ble hentet fra filen og en suksessmelding, "Du er logget inn vellykket.”Vil bli skrevet ut. Hvis ingen matchende oppføring blir funnet, vil påloggingsskjemaet vises igjen. Hvis siden blir revidert etter å ha opprettet økten, vil en velkomstmelding bli skrevet ut med verdien av $ _Session ['Navn'].
Session3.PHP
// definere variabelen for å sjekke gyldig påloggingDu er logget inn vellykket.
";Velkommen tilbake, ". $ _Session ['Navn'].""
";Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor første gang. Brukeren må skrive inn gyldig brukernavn eller e -post og passord for autentiseringen.
E -postadressen og passordet er oppgitt i følgende påloggingsskjema. Disse verdiene vil bli matchet med e -postadressen og passordet til hver bruker av filen.
Følgende utdata vises hvis brukeren trykker på sendeknappen etter å ha gitt den gyldige e -postadressen og passordet. Den samme utdata vil vises hvis brukeren gir et gyldig brukernavn i stedet for e -postadressen for autentiseringen. Innloggingsskjemaet vises igjen hvis et ugyldig brukernavn eller e -post eller passord leveres av brukeren.
Hvis brukeren laster på nytt samme side igjen etter å ha logget inn på nytt, vises følgende utdata. Verdien av $ _Session ['Name'] -variabelen er skrevet ut her med velkomstmeldingen. Denne utgangen vil forbli uendret til økten går ut for brukeren eller nettleseren er gjenåpnet på nytt.
Endre øktdataene
Øktdataene kan endres etter initialisering av sesjonsvariabelen. Lag en PHP -fil med følgende skript for å kjenne måten å endre sesjonsvariabelen etter å ha initialisert variabelen $ _Session. ISSET () -funksjonen har blitt brukt i skriptet for å sjekke om $ _Session ['Besøk'] -variabelen er satt eller usett. Hvis variabelen på $ _Session ['Besøk'] ikke er angitt, vil denne variabelen bli initialisert til 1. Hvis siden oppdateres eller lastes på nytt igjen, vil verdien av denne variabelen bli økt med 1 for hver oppdatering. Gjeldende verdien av denne variabelen vil bli skrevet ut hver gang siden lastes inn.
// Start øktenSiden besøkes for ". $ _Session ['Besøk']. "Tider
";Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor for første gang. Verdien av $ _Session ['Besøk'] er 1 her fordi når siden er lastet for første gang, initialiseres denne variabelen til 1.
Følgende utdata vises hvis siden er lastet inn 3 ganger. Verdien av $ _Session ['Besøk'] har blitt økt med 1 hver gang siden laster inn på nytt.
Slett øktdataene
Øktdataene kan slettes ved å bruke Unset () funksjon eller Session_unset () Funksjon av PHP. Lag en PHP -fil med følgende skript som bruker Unset () Funksjon for å slette sesjonsdataene. Variabelen $ _Session ['Brukernavn'] er blitt initialisert med en strengverdi etter å ha startet økten. Deretter har verdien av denne variabelen blitt skrevet ut før og etter utførelse.
// Start øktenProduksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Verdien av $ _Session ['brukernavn'] er skrevet ut før du utfører Unset () Funksjon og $ _Session ['brukernavn'] variabel ble tom etter utførelse Unset () funksjon.
Ødelegge økten
Øktinformasjonen kan fjernes ved å fjerne verdiene til $ _Session -variabelen som er vist i forrige eksempel. PHP har en innebygd funksjon som heter Session_Destroy () For å slette all sesjonsrelatert informasjon fullstendig. Lag en PHP -fil med følgende skript som viser bruken av Session_Destroy () funksjon. Et skjema med en innsendingsknapp har blitt brukt i skriptet for å ødelegge økten. Etter å ha startet en økt, har ISSET () -funksjonen blitt brukt til å sjekke “Ødelegge økt”Knappen trykkes og økt-IDen er ikke-tom. Den nåværende økten vil bli ødelagt ved å ringe Session_Destroy () funksjon hvis økt -IDen eksisterer hvis "Ødelegge økt”Knappen trykkes av brukeren. Hvis siden besøkes for første gang og "Ødelegge økt”-Knappen trykkes ikke, så blir øktinformasjonen lagret i $ _Session ['Name'] variabel. Hvis siden besøkes igjen etter lagring av sesjonsinformasjonen, men "Ødelegge økt”Knappen er ikke trykket på, så velkomstmeldingen blir skrevet ut.
// Start en ny øktNy økt er startet for brukeren.
";Velkommen tilbake, ' . $ _Session ["Navn"] . '.
';Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor for første gang. Hvis brukeren klikker på "Ødelegge økt”-Knappen så blir økten ødelagt fullstendig og en blank side vises.
Eksempel 5: Koding og avkoding av sesjonsdata
Øktdataene kan kodes for å generere en strengverdi ved å serialisere dataene og de kodede øktdataene kan konverteres til matrisen ved å deserialisere dataene. Lag en PHP -fil med følgende skript som koder for øktdataene ved å bruke Session_encode () Funksjon og avkoder de kodede øktdataene ved å bruke Session_decode () funksjon. I følge følgende skript vil $ _Session [“Name”] og $ _Session [“E -post”] -variablene bli initialisert med to verdier etter å ha startet økten. Verdiene til disse variablene er blitt kodet ved å bruke Session_encode () funksjon og trykt senere. De Session_unset () Funksjonen har blitt brukt til å avsette variabelen $ _Session. Deretter er de kodede strengdataene blitt konvertert til matrisen ved å bruke Session_decode () funksjon.
// Start en ny øktNy økt genereres.
";Velkommen, ' . $ _Session ["Navn"] . '.
';Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Etter koding er de serialiserte øktdataene skrevet ut i utdataene. I følge utgang. Deretter er den kodede strengen blitt dekodet, og verdien av $ _Session [“Name”] -variabelen er skrevet ut.
Konklusjon
Økthåndteringen er en veldig viktig funksjon ved enhver nettbasert applikasjon. PHP har mange økthåndteringsdirektiver og innebygde sesjonsfunksjoner for å håndtere øktrelaterte oppgaver. Noen bruksområder av ofte brukte øktfunksjoner er vist i denne opplæringen ved å bruke PHP -skript. Oppgaven til noen sesjonsfunksjoner kan gjøres ved å bruke de aktuelle sesjonsdirektivene. For eksempel, hvis Session_auto_start Direktivet er satt til På så starter den økten automatisk uten å bruke Session_Start () funksjon. Å bruke en databasetabell er en effektiv måte å lagre øktdataene som ikke er dekket i denne opplæringen. Men formålet med økten for webapplikasjonen og måten å implementere sesjonshåndteringsfunksjonen ved hjelp av PHP -skript er vist i denne opplæringen for å hjelpe nye PHP -brukere med å legge til denne funksjonen i applikasjonen deres.