08. august 2007 - 21:58Der er
49 kommentarer og 1 løsning
array virker ikke på den ene computer
Hej Eksperter
Jeg har nok det mest underlige spørgsmål i denne verden.. Jeg har udviklet en side i php..
På siden har jeg en streng der hedder $streng = "1-2-3-4"
Jeg har udfra dette dannet et array vha. explode("-", $streng.
Når jeg så forsøger at udskrive fx $array[1] bliver det fint vist på min laptop og stationære PC.. Men når jeg prøver det af på en lille wannabe PDA, der i øvrigt kører samme udgave af FireFox som de to andre computere kan den ikke udskrive dette..
Så vidt jeg ved er PHP da et serversprog, så de burde da blive vist ens.
Hvis du henter én og samme streng fra DB'en, oplever du formodentlig ikke problemet, vel? Det opstår formodentlig kun på PDA'en med en streng, skrevet fra PDA'en ... ikk'?
Hvis du har skrevet det hele fra samme laptop, er det ikke her problemet ligger.
Hvis tingene var, som du beskriver dem, kan du ikke få de fejl, du beskriver. Derfor må der være noget, du ikke fortæller - men det er næsten umuligt at hjælpe, når vi ikke kan få lov at se noget kode og/eller et link
jo det er sådan det fungerer.. Men de får ikke adgang til noget, da den jo kalder i databasen, hvor access = $_COOKIE, resten af sidens indhold bliver ikke vist uden de kald der står inde i if($find_user)
For det første kan IE6 slet ikke læse et XHTML 1.1 dokument, men vil tilbyde dig at downloade det i stedet. Hvis den kan vise det, server du dokumentet med forkert MIME-type ... typen skal være 'application/xhtml+xml'.
En HTML-meta har jo heller ikke en dyt at gøre i et XHTML-dokument: <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
Dernæst har det her jo ikke et klap med den kode, vi indtil nu har diskuteret. Hvorfor det? Giver denne kode samme fejl - og hvis, den gør, hvad skrives der så ud i dokumentet, hvis du skriver:
Det koden gør at hvis der i URL'en ikke er angivet ?step så skal den vælge $step1, hvis $step1 altså er i arrayet, hvis $step1 ikke er i array skal den måske vise $step2.
Jeg har kigget lidt på jeres dialog, og Oles fantasifulde forslag.
Der kan næsten kun gå een ting galt: der afleveres ikke korrekt cookie-værdi i 'Log'-cookien. Vil du prøve at tjekke det med en udskrift på en fungerende og den ikke fungerende browser, satyriasis?
Erik >> Den har jeg fået værdien af i (08/08-2007 22:30:12) - og den skulle der ikke være noget galt med. Nu er der dog tale om en get-variabel.
Jeg var inde på, om klienten sender en forespørgsel med et andet charset. Da det heller ikke kan være værdien af kagen, må vi vel ud i voodoo ... og så er min fantasi vist for intet at regne ;o)
Og mens du kigger på det... Du har 2 dumme programmerings-"bøffer".
Man skal egentlig
if (isset($_COOKIE['Log'])) { ...
men det gør nu nok ikke nogen forskel.
Du gør dig åben for "hacking", når du har registerglobals sat til true, og rent faktisk kan ændre dine interne værdier med "?step=1". Det kommer man udenom ved at fjerne registerglobals (som aldrig skulle have været opfundet), eller initialisere samtlige sine variabler: $step1=false;
- og så tag i øvrigt lige at tænke over, om ikke det er bedre at skrive HTML 4.01 Strict kode, som giver mening - i stedet for at skrive XHTML 1.1 Strict kode, som absolut ingen mening giver ... og som aldrig bliver parsed som andet end HTML.
Det virker en smule selvbedragerisk ... lidt som at fake en orgasme, mens man masturberer =)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.