Kæmpe problem med session_start();

Tags:    php

Har et kæmpe problem med session_start(); i Internet Explorer
Den smadre designet på siden fuldstændigt, og intet virker som det skal

kan ses på denne adresse...
http://www.atdesign-webshop.dk
Ser du den i firefox er der intet problem.

Det er en weshop jeg er igang med at udvikle til min mors firma.

Du kan se hvordan stilen burde se ud på den almindelige hjemme side...
http://www.atdesign.dk

De kører begge med samme template.

Nå tilbage til problemet.

Jeg har disse filer der er involveret.
index.php og config.php

i min index fil bruger jeg require_once commandoen til at hente config.php.

Her er et udsnit af det mest relevante kode fra index.php...

Index.php

Fold kodeboks ind/udKode 


Og så min kode fra
config.php


Fold kodeboks ind/udKode 


Som sagt det eneste der skal til for at designet går i orden er at fjerne session_start(); men det jo ikke særlig nemt at lave en webshop uden sessions.... Nogen der har nogle ideer til hvad der kan være galt har prøvet ustandsligt i 2 dage nu at fikse det kan bare ikke få det til på nogen måder.



Indlæg senest redigeret d. 26.06.2009 06:06 af Bruger #15117
7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Dejligt at det virker!

Grunden til at det virker, er at din doctype skal komme som det første i din kode, før alle andre karakterer. Ellers går ie i quirks-mode og fortolker din css, ligesom ie 5.5. Så vidt jeg kan læse på nettet kan du godt have linjeskift før doctypen, men det virker til at du enten har lidt problemer med din encoding af index.php, eller at en af dine includes (library/config.php, library/product-functions.php, library/cart-functions.php) er gemt med bom som Michael var inde på. Dette gjorde at der kom en karakter før din doctype. Karakteren blev vist som en firkant, og du kan stadig se den, hvis du kigger i din kode. Den kommer lige før din oprindelige doctype, som du iøvrigt har glemt at slette fra koden :)

En lille detalje... Det gør ikke din side mere sikker, at du bruger javascript til at forhindre højreklik. Du opnår kun at ikke-tekniske folk ikke kan kopiere et link til en side eller lign. og derfor bliver irriterede.



Jeg tror det har noget at gøre med den UTF-8 bom der ligger i toppen af dine php filer.



Hvis du installerer debugbar (http://www.debugbar.com/) til ie kan du se at den renderer http://www.atdesign-webshop.dk i quirks-mode, men http://www.atdesign.dk bliver renderet i standards-mode. Gætter på at det er linjeskiftet før din doctype der er problemet. Ændre disse linjer i index.php:
Fold kodeboks ind/udKode 

til:
Fold kodeboks ind/udKode 




At disable højre klik er ikke specielt bruger venligt, og da slet ikke udvikler venligt gør det mere besværligt at se source koden.

Iøvrigt bør script tag være inde i head tags og ingen andre steder med den undtagelse når du bruger document.write til at skrive et dokument, er sikkert andre undtagelser, men kan ikke se dem.

<head>
<script>...</script>
</head>



At disable højre klik er ikke specielt bruger venligt, og da slet ikke udvikler venligt gør det mere besværligt at se source koden.

Iøvrigt bør script tag være inde i head tags og ingen andre steder med den undtagelse når du bruger document.write til at skrive et dokument, er sikkert andre undtagelser, men kan ikke se dem.

<head>
<script>...</script>
</head>


Grunden til jeg har deaktiveret højre klik er jeg forsøger at lave siden så sikker som mulig. Har aldrig arbejdet i at gøre mine sidder sikre før men nu hvor jeg laver en webshop prøver jeg mit bedste for at få det til at lykkes.
Omkring det med head tag ja det ved jeg godt, det var en lille fejl placering hehe, er rettet nu.



Indlæg senest redigeret d. 26.06.2009 16:36 af Bruger #15117
Hvis du installerer debugbar (http://www.debugbar.com/) til ie kan du se at den renderer http://www.atdesign-webshop.dk i quirks-mode, men http://www.atdesign.dk bliver renderet i standards-mode. Gætter på at det er linjeskiftet før din doctype der er problemet. Ændre disse linjer i index.php:
Fold kodeboks ind/udKode 

til:
Fold kodeboks ind/udKode 


kan ikke lige forstå hvorfor der er galt med det linjeskift, men prøvede som du sagde at flytte det op, det hjalp ingenting stadig det samme. Det virker stadig kun når jeg fjerner session_start();


*EDIT* Jeg prøvede at lege lidt med det der, <!DOCTYPE html.... Det virker squ nu det jeg skulle gøre var simplethen bare at flyttte
Fold kodeboks ind/udKode 


Til toppen før php startede.
Tusink tak for hjælpen havde squ aldrig fundet ud af det selv..

Må jeg så spørge hvorfor skal det stå i toppen, det kan jeg ikke se forskellen på...



Indlæg senest redigeret d. 26.06.2009 16:49 af Bruger #15117
Dejligt at det virker!

Grunden til at det virker, er at din doctype skal komme som det første i din kode, før alle andre karakterer. Ellers går ie i quirks-mode og fortolker din css, ligesom ie 5.5. Så vidt jeg kan læse på nettet kan du godt have linjeskift før doctypen, men det virker til at du enten har lidt problemer med din encoding af index.php, eller at en af dine includes (library/config.php, library/product-functions.php, library/cart-functions.php) er gemt med bom som Michael var inde på. Dette gjorde at der kom en karakter før din doctype. Karakteren blev vist som en firkant, og du kan stadig se den, hvis du kigger i din kode. Den kommer lige før din oprindelige doctype, som du iøvrigt har glemt at slette fra koden :)

En lille detalje... Det gør ikke din side mere sikker, at du bruger javascript til at forhindre højreklik. Du opnår kun at ikke-tekniske folk ikke kan kopiere et link til en side eller lign. og derfor bliver irriterede.


Nej jeg havde ikke glemt at slette den gamle doctype havde bare ikke lige fået uploaded min nye top.php hvilket jeg også har som include fil,
men for at gøre det mere overskuelig her i postet hvade jeg fjernet den include også bare kopieret indholdet fra filen ind i stedet.
men som sagt havde så ikke lige oploaded den nye top.php :$

Nåår det var derfor der kom de firkanter undrede mig godt nok over hvad det var også hehe...
Men jeg må jo lige igang med at undersøge mine filer så og se om der er en der køre et forkert charset.

Omkring det med javascript, Ja det har du jo en point i, havde bare en ide om at hvis jeg lukkede af for min source code så ville det være mere besværligt for hackere at finde informationer om hvordan siden er lavet...
Som sagt så er Sikkerhed et helt nyt område for mig, og arbejder på fuld tryk med at læse om det på nettet og prøve at blive klogere, men der jo så meget bag det, på grund af nogle fjolser der bare sidder og vil smadre folk arbejde.




Indlæg senest redigeret d. 26.06.2009 18:11 af Bruger #15117
t