Jump to content
php.lv forumi

Sesijas


orion

Recommended Posts

Ir problēma un nevaru atrast tai risinājumu!

Ir lapa ar vairākvalodu atbalstu u.t.m.l fīčām, bet taga pēkšņi vienā brīdī, kad pārliku visu enkodingu uz UTF-8 parādījās cita problēma, kura nerisinās arī kodējumu mainot atpakaļ. Vispār jau tam ar kodējumu maz sakara...

Vardusakot metas laukā errors:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at d:\~~~\www\index.php:1) in d:\~~~\www\index.php on line 1

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d\:~~~\www\index.php:1) in d:\~~~\index.php on line 1

 

Attiecīgi pirmās 5 rindas no koda: (pēdējas tapa problēmas risināšanas gaitā)

<? session_start();
echo session_id();
if (session_id() != $_SESSION[sesija][CODE]) {session_unset; session_destroy(); session_start(); $_SESSION[sesija]=session_id(); echo' sesija mainiita ';}
print_r($_SESSION);

 

Sesijas id NEKAD nesakrīt masīvas $_SESSION ierakstu!

Jo session_id(); visu laiku mainās. Tjip itkā sessija tiktu nojaukta un uzsaakta no jauna. Tas notiek arī tad, kad trešās un ceturtās rinda vienkārši nav!

 

Vot nesaprotu, no kurienes tie headeri jau tiek nosūtīti?? Nu pirms session_start(); takš pilnīgi nekā nav.

 

Ejam tālāk. Ja esmu ielogojies ADMIN sadaļā, tad viss strādā. Izlogojos ārā - viss kārtībā. Sesijā pa skaisto saglabājas lietotā valoda un viss ir kedā. Līdz brīdim, kad izslēdzu pārlūku un iedarbinu to no jauna...

 

No kurienes tie liekie headeri un kapēc viņu nav, kad ielogojos admin sadaļā?

Mēģināju identisku ierakstu, kā admin sadaļā ielikt šī faila sākumā - nekā.. vienkārši nevaru to izdarīt un viss... headers already sent... murgs kaut kāds...

 

BTW - aŗi tad, kad viss strādā - ir warnings + rādu masīva saturu!

[/code]Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d:\~~~\www\index.php:1) in d:\~~~\www\index.php on line 1

Array ( [sesija] => 18efbe0cf07d65b4e85b7cefcb8bcf0d [session] => 18efbe0cf07d65b4e85b7cefcb8bcf0d [valoda] => lv )




			
				


	Edited  by orion
	
	

			
		
Link to comment
Share on other sites

Ganjau standarta problēma ar UTF byte order mark (BOM).

Proti daļa editoru (zināms ka tā mēdz darīt Dreamweaver) lai identificētu ka fails ir UTFā faila sākumā pieliek charu (ķeburu ;) ) ko php savukārt nesaprot (un pašā editorā tas nav redzams).

 

Pamēģini teiksim atvērt ar notepadu un pārseivot.

Link to comment
Share on other sites

XP notepads arī atpazīst tos sākuma čarus un atverot nekā neredzēs no tiem :) Labāk ar kādu FAR vai Total Commander.

12524[/snapback]

Paaldiees jums abiem. Man jau saakaas panika (:

Vaardu sakot XP notepads ne tikai atpaziist tos simbolus un neraada, bet arii pats vinjus tur ieliek!! zaraza taads (: Par cik ar viņu failus no ANSI dzinu uz UTF-8 (savādāk nabij garumzīmju) tad visiem failiem sakumaa paaris slimi simboli :/

K - taga viss kedaa ((: veelreiz pateicos ((:

Edited by orion
Link to comment
Share on other sites

×
×
  • Create New...