Jump to content
php.lv forumi

Problēma ar sessijām


ntw

Recommended Posts

Es laikam vēlaizvien nespēju sessijas saprast... man visu laiku kaut kas neiet....

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:/piiip/index.php:25) in c:/piiip/logon.php on line 2

 

...php pašlaik es vēl stipri esmu iesācējs. Tāpēc kāds varētu man vispārīgi pastāstīt par sessijām. Esmu lasījis par viņām pietiekoši daudz, bet kā pielietot vēlaizvien nav aizgājis. Praktiski pašlaik ko es mēģinu panākt, ir - Pēc tutoriāļa pamācības kā uztaisīt mazo login lapiņu un saglabāt to login sessijā ( pēc izvilkšanas no mysql ) , bet es nedaudz pielaboju pa taisno , es ar switch funkciju uztaisu teiksim logon.php inklūdētu index.php failā, un probably tur tās problēmas rodas.... ( index.php?id=ielogojies , ~tā...)

Būtu labi ja kāds varētu man kaut ko sakarīgu pateikt uz kuru pusi smadzenes man bīdīt lai iemācītos saprast PHP un MySQL attiecības. Jo pašlaik lasot un pildot tutoriāļus - Labāk nepaliek - Izpildu ta izpildu, bet neko neiemācos ( izņemot sintaksi un + vēl nosperu kārtējo skriptu, kuru pēc tam tāpat nav kur likt - Jo vai kaut ko iemācījos? - Nē! ).... Cerams ka visi ir sapratuši ko es īsti gribu un vēljo vairāk cerams ka kā lietus man nenāks pirdieni virsū par to ka es esmu muļķis, jā maybe tā arī ir - Katrs tāds sākumā....

 

Paldies par atsaucību...

Link to comment
Share on other sites

Tas ir pavisam vienkārši: sesija tiek inicializēta, nosūtot nelielu kukiju ar sesijas id browserim. Kukiji browserim tiek nosūtīti headeros. Headeri, kā zināms, nāk pirms paša satura. Līdzīgi kā html dokumentā head daļa. Tātad, lai nebūtu problēmu, kods jāraksta tā, ka jebkādas fjas, kas sūtu headerus browserim, jāizsauc pirms jebkāda outputa.

 

Protams, var ieslēgt output bufferingu, kas atļaus headerus sūtīt jebkurā brīdī, bet actually tas strādā tā, ka viss outputs skripta darbības laikā tiek pieglabāts. Arī visi headeri tiek pieglabāti. Un kad skripts beidz darbību, tad tiek nosūtīti vispirms visi headeri, un pēc tam tikai viss outputs.

Link to comment
Share on other sites

Andri kā to var panākt? Jo man jau sanāk ka tie INCLUDE faili satur tos hederus, bet INCLUDE nāk PĒC html hediem un arī pēc citiem PHP kodiem...gr...kaut kur būs jāpameklē CMS sistēmu beisiki...

Link to comment
Share on other sites

×
×
  • Create New...