webForumDet fria alternativet

PHP Sessions fungerar inte med alla mobil operatörer...

PHPur PHP

3 svar · 351 visningar · startad av Pipen

PipenMedlem sedan juni 20027 inlägg
#1

Godag..

Håller på att utveckla en WAP tjänst (WAP 2.0/xHTML) men har stött på ett litet problem:

Vid inloggning sätter jag en session variabel (mao PHP). Sedan skickas man vidare till en annan fil med: header('Location: blaha.php'), det är här mitt problem uppstår. Har testat med massa olika mobiler o datorer. Alla datorer funkar prima, alla opperatörer _UTOM_ Comviq funkar också primar, men det är just dom här Comviq (åtminstånde comviq kontant, känner ingen med Comviq abonemang). Efter man skickas vidare med header() funktionen och nästa sida laddas så finns inte session variablerna kvar. Det funkar om man inte redirectar utan länkar vidare med vanlig <a href=".... Men det känns som att anpassa för mobila enheter så vill man få ner datamängden och det blir ju extra data med en extra sida vilket är det jag vill undvika.

Har försökt som bara den med header('content-type: ...') och dyligt men får inte till det.

(Kan passa på att säga att vissa telefoner t.ex. SonyEricsson k700i har en inställning man kan ändra ifrån WAP till HTTP, och på så sätt få det att fungera, denna isntällning återfinns inte på tidigare modeller t.ex. min egen SonyEricsson t630 och man vill ju att det skall fungera för alla)

om ni kollar på https://www.hd.chalmers.se/~zoreth/sessions/check.php så där värdet är = 1 så fungerar sessions efter header(),

Skillnaden mellan dessa 2:
SonyEricssonT610/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0 1
SonyEricssonT610/R601 Profile/MIDP-1.0 Configuration/CLDC-1.0 0

är att den översta använder Telia abonemang och den nedersta använde Comviq Kontant. Med samma fysiska enhet.

Är det någon som är lite inläst som kan hjälpa mig med detta så skulle jag vara evigt tacksam

Tack på förhand

//Erik "Pipen"

MatteMedlem sedan aug. 20002 975 inlägg
#2

Jag kan inget som helst om WAP, men gör det någon skillnad om du sätter en fullständigt korrekt header:

header('Location: http://www.doman.com/blaha.php'),

Det som borde brista är att cookien med sessionsid inte lagras i mobiltelefonen.

Det kanske inte är så att mobiltelefonen använder cookies.
Testa då med

header('Location: blaha.php?'.SID);
PipenMedlem sedan juni 20027 inlägg
#3

som jag sa, samma telefon, samma inställningar, bara annan opperatör (och allt vad det innebär) men olika resultat..

header() med fullständig adress ger samma resultat..

kjellMedlem sedan dec. 1999757 inlägg
#4

Nu kan jag heller inget om WAP men är nog inne på Mattes linje. Har du testat det som föreslogs? Alltså, att skicka med sessionen i urlen. Eftersom du säger att en vanlig href fungerar så antar jag att session ligger i urlen och det borde i så fall också fungera med en refresh-tagg som t.ex.

<meta http-equiv="refresh" content="0;URL=sidan.php">

om man nu kan använda det på en wapsida förstås?

Det verkar i vart fall som att cookies inte fungerar och då finns bara urlen kvar att använda om man vill skicka med en session.

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)