Kom ihåg mig?
Home Menu

Menu


PHP Sessions fungerar inte med alla mobil operatör

 
Ämnesverktyg Visningsalternativ
Oläst 2004-12-21, 18:58 #1
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
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)

Ä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"
Pipen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-21, 19:12 #2
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by Pipen@Dec 21 2004, 19:58
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)

Ä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"
Det är inte så att det beror mer på mobilmodell än på abonnemang? Sessionvariabler kan antigen sparas som kakor eller genom sessionsdata via URL. En del mobiler stödjer väl inte kakor.

Något att tänka på kanske?

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-21, 19:17 #3
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
oj, glömde nämna det. ledsen för det.
tyvärr så är inte fallet..

om du kollar på 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.
Pipen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-21, 20:31 #4
Huvet Huvet är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 9
Huvet Huvet är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 9
En (kanske lite fulare) variant du kan göra är att inkludera sidan istället för att peka om till den.

Inloggningen sker med vanliga formfields och skickas sedan till samma sida som du kom från med t.ex. POST. I php-scriptet kollar du sedan om uppgifterna är korrekta och om så är fallet så inkluderar du sidan du vill att besökarna ska få se direkt (include("sidnamn.php")). Detta gör att ingen ompekning behövs.

Lite psuedokod:

Kod:
if ($_POST är tom) 
  Skriv ut formfields där folk kan fylla i lösen osv
else
  if (uppgifter stämmer)
   include("sidnamn.php") (där sidan är den som du redirectade till förut)
Säg till om du behöver mera instruktioner.
Huvet är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-21, 23:13 #5
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
jo, det är en lösning, men saken är att header() funktionen används på fler ställen än vid bara inloggning, där det inte känns så smidigt att göra så.. så det skönaste vore att få det att funka.. jag menar det borde ju gå på något sätt.

Om ändå comviq skulle kunna ta o svara på mitt mail..
Pipen är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-22, 01:07 #6
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Nu var det länge sedan jag jobbade med WAP men jag har för mig att WAP 1.0 i alla fall intte stödjer kakor. Däremot är det vanligt att man i WAP gatewayen emulerar kakhantering åt klienten. Om jag minns rätt så är det helt enkelt så att comviqs WAP gateway helt enkelt inte emulerar kakor åt klienten och då är du körd om du förlitar dig på kakor.

*lite senare*

Verkar som om jag minns rätt:
http://www.thewirelessfaq.com/9.3.asp

WAP stödjer i sig inte cookies (utan har ju en egen sessions hantering inbyggd i protokollet), MEN eftersom de flesta som gör WAP-grejer är gamla HTML-rävar så stödjer antingen gatewayen eller enheten cookies på ett eller annat sätt.

I just detta fal saknar sannolikt comviqs gateway detta stöd.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-22, 01:39 #7
FredrikMHs avatar
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2004
Inlägg: 1 501
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
FredrikMHs avatar
 
Reg.datum: Apr 2004
Inlägg: 1 501
Jag tror inte Headern Location fungerar i alla mobiltelefoner heller, ta reda på det.
FredrikMH är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-22, 08:41 #8
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Reflektion kolon (för att citera Percy N):
Man skall inte luras att tro att WAP och HTTP är samma sak. Alla headrar (location, cookies mm) är en del av HTTP och det finns inget som säger att det därför finns i WAP. PHP är skrivet för HTTP och man bör läsa igenom WAP och WML specarna för att vara säker på vad man kan och inte kan använda.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-22, 09:13 #9
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by eg0master@Dec 22 2004, 09:41
Reflektion kolon (för att citera Percy N):
Man skall inte luras att tro att WAP och HTTP är samma sak. Alla headrar (location, cookies mm) är en del av HTTP och det finns inget som säger att det därför finns i WAP. PHP är skrivet för HTTP och man bör läsa igenom WAP och WML specarna för att vara säker på vad man kan och inte kan använda.
Nej, visserligen har du rätt. Däremot är det så att telefonen pratar WAP med självaste WAP-gateway-n. WAP-gateway i sin tur pratar vanlig HTTP mot en vanlig HTTP-server. Så vitt jag vet så stödjer de flesta gateways HTTP rätt bra. Med andra ord, alla "Location: " headrar ska göra det de ska.

WAP-gateway redirectas till rätt sida, den tar hem sidan via HTTP, binärkompilerar den och skickar till telefonen. När det kommer till kakor, även om de är del av HTTP-protokollet så är det ändå så att det krävs en del av klienten. Så vitt jag vet har inte WAP-gateway någon egen sessionshantering och därför kan inte hålla reda på kakorna åt mobilen. Så det måste mobilen göra själv. Eftersom det finns mobiler som bara pratar WAP, måste man implementera kakor i WAP. Wap 2.0 stödjer kakor men inte Wap 1.0. Men om gatewayn tillåter det vet jag inte.

Så uppenbart problem torde vara någon inställning i wap-gatewayn.

Pipen: hur ser din utvecklingsmiljö ut?

Installera gärna en Wap-gateway-simulator samt någon SDK från Nokia eller Ericsson och provkör via den.

Att en del mobiler kan välja HTTP istället för WAP beror på att de har egen TCP-implementation samt kan rendera XHTML själva och således inte behöver gå via en WAP-gateway.

PHP går att dressera att INTE använda kakor vid sessionshantering. Jag skulle testa med det i felsökningssyfte. Ett annat sätt som jag använde mig för att felsöka är att alltid sätta igång en snoop/tcpdump session precis innan man gör en request med mobilen. När det är klart öppnar man den i ethereal exempelvis och analyserar vad som har hänt. Jäääävligt mycket enklare att hitta buggar.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-12-22, 16:46 #10
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
Pipen Pipen är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 24
Som jag sa i mitt första inlägg så är detta för WAP 2.0, WAP 2.0 stödjer cookisar, varför skulle alternativet att inte acceptera cookisar annars finnas i mobilens inställningar för WAP?

zoran: nu är jag inte säker på exakt vad du menar med utvecklingsmiljö. men det jag använder mig av är följande:
webbserver: apache, PHP5 (har provat LIUs och en egen)
mobil: t610, t630, z600 o k700. (opperatörer: comviq, telia och vodafone)
Pipen är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017