Avatar billede kroning Nybegynder
21. august 2014 - 18:53 Der er 11 kommentarer og
1 løsning

SESSION varriabler

Jeg er ved at lave dankort betaling på en side med DanDomains system.
Jeg har hele dagen uden held forsøgt at få det til at virke.
Jeg går ud fra dette eksempel fra DanDomain:
http://help.dandomain.dk/download/dankortphp.zip

hvor jeg dog har rettet det til at benytte $_SESSION i stedet for $HTTP_SESSION_VARS

Men ting opfører sig underlig, jeg har forsøgt med IE, Chrome og Firefox.
I alle 3 browsere hænger siden i 1-3 sekunder når jeg trykker på SEND i ex1php.php og session variablerne bliver ikke overført så ex2php.php kan se dem. Hvis jeg dog reloader ex1php.php en enkelt gang inden jeg trykker på SEND så kan ex2php.php godt se variablerne.

Men når jeg så trykker på Fortsæt i ex2php.php er det kun når jeg bruger IE at session variablerne kan ses af ok.php og fail.php
Avatar billede erikjacobsen Ekspert
21. august 2014 - 19:05 #1
Kan det tænkes at du blander adresser med  ditdomæne.dk  og  www.ditdomæne.dk  (og din webserver ikke er sat "rigtigt" op) ?
Avatar billede kroning Nybegynder
21. august 2014 - 19:16 #2
Det tror jeg ikke, jeg bruger www alle steder men ellers er både min server og min admin side hos dandomain sat op til at virke både med og uden www.
Avatar billede kroning Nybegynder
21. august 2014 - 19:59 #3
Nu har jeg fjernet alle henvisninger til DanDomain i  ex1php.php og  ex2php.php, dvs. ex1php.php kalder ex2php.php direkte, og det virker stadig ikke i Chrome og Firefox, kun IE virker.

I  ex1php.php har jeg:
session_start();
$_SESSION["merchantnumber"] = "1234567";

og i ex2php.php har jeg:
session_start();
echo $_SESSION["merchantnumber"]

men kun når jeg bruger IE vises merchantnumber.

Hvad er der galt?
Avatar billede erikjacobsen Ekspert
21. august 2014 - 20:02 #4
Et link?
Avatar billede kroning Nybegynder
21. august 2014 - 20:23 #5
ok, glem min sidste post, det var så fordi jeg havde glemt www.

Men min første post holder stadig, her er et link:
http://www.bogtorvet.net/ex1php.php

Øverst hvor der står mnr: burde der komme et nummer da $_SESSION["merchantnumber"] er blevet sat i ex1php.php og det samme nummer burde vises i den 3. edit felt.

Jeg kan også poste hele koden for de 2 sider?
Avatar billede erikjacobsen Ekspert
21. august 2014 - 20:41 #6
Ja, det virker ikke når du blander med og uden www. Kan du få webserveren til altid at omdirigere til www (eller til uden www) foran?

Eller ændre i PHP opsætningen som skrevet et stykke nede i http://stackoverflow.com/questions/6784654/different-session-with-urls-with-www-and-without-www
Avatar billede kroning Nybegynder
21. august 2014 - 21:01 #7
Ja jeg kan godt ændre noget på serveren så der omdirigeres, jeg bruger Apache.

Men nu er det jo 2 meget simple sider og jeg bruger www alle steder så det burde jo virke.
Avatar billede erikjacobsen Ekspert
21. august 2014 - 21:43 #8
Og det virker hos mig i Firefox 31 og i Chrome - så længe der ikke blandes med og uden www. Men du ved vel ikke om en bruger/kunde kommer ind på din side med eller uden www. Så noget bør du jo gøre.
Avatar billede kroning Nybegynder
21. august 2014 - 23:53 #9
Mærkelig, hos mig virker det ikke i nogle af de 3 browsere. Og jeg har lige sendt linket til en anden og han får samme problem i alle browsere som jeg.
Avatar billede kroning Nybegynder
25. august 2014 - 16:48 #10
Jeg gætter på at det er en fejl i php men som jeg nævnt så virker det hvis jeg reloader siden en enkelt gang, så det gør jeg med php

if (!isset($_SESSION["jowjow"])) {
        $_SESSION["jowjow"]="1";
        header('Location: http://www.minside.dk/ex1php.php');
        exit();
    }

Smid et svar.
Avatar billede erikjacobsen Ekspert
25. august 2014 - 17:09 #11
Ingen point til mig, tak.
Avatar billede kroning Nybegynder
25. august 2014 - 17:11 #12
Svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester