Avatar billede Slettet bruger
19. juli 2003 - 10:42 Der er 9 kommentarer og
1 løsning

Sessions i version 4.0.3

Jeg er i gang med at lave et simpelt online shopping system i PHP, der vha. session-variabler opbevarer informationer om de valgte produkter, navn, adresse, osv.

Jeg er endnu ikke så stærk i PHP, så jeg glemte, at min server - som jeg har testet på - kunne have en anden PHP-version end den server, siden skulle lægges ud på. Og det er netop tilfældet.
Min server, hvor alting virker fint, har version 4.2.2, og den anden server har kun 4.0.3. Da jeg både bruger $_POST og $_SESSION, skiftede jeg disse ud med henholdsvis $HTTP_POST_VARS og $HTTP_SESSION_VARS, men det virker stadig ikke. Værdierne bliver simpelthen ikke udskrevet rigtigt, og da jeg af uheldige (og uprofessionelle) årsager ikke har ftp-adgang til serveren, kan jeg ikke lave de sædvanlige debugging-tests.

Hvilke andre ting har jeg glemt at tage højde for?

På forhånd tak!
Med venlig hilsen PhoenixV
Avatar billede detox Nybegynder
19. juli 2003 - 11:03 #1
I stedet for at skifte dine variabler ud kunne du fremtidssikre dem ved hjælp af dette lille triks:
---------------------
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}


/**
* Udligner forskellene mellem 4.1.x og 4.0.x
* Bemaerk, at disse ikke er "superglobals"
*/
if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SESSION = $HTTP_SESSION_VARS; 
  $_SERVER = $HTTP_SERVER_VARS;
}
Så behøver du ikke ændre din kode igen når de engang opgraderer php'en på dit webhotel.
Avatar billede Slettet bruger
19. juli 2003 - 11:21 #2
Ok tak. :)

Men som sagt er det ikke det, der er det eneste problem...
Avatar billede detox Nybegynder
19. juli 2003 - 11:26 #3
Jeg ikke sikker på hvad der ellers kan mangle. Har du et link til koden eller noget?
Avatar billede Slettet bruger
19. juli 2003 - 19:08 #4
Her er de tre første. Der er flere filer, men det går allerede galt i disse:

prisliste.php: http://www.phoenixv.dk/temp/prisliste.txt
    ... fører ved submit videre til:
bestil.php: http://www.phoenixv.dk/temp/bestil.txt
    ... fører videre til:
kurv.php: http://www.phoenixv.dk/temp/kurv.txt
Avatar billede detox Nybegynder
20. juli 2003 - 17:04 #5
Jeg tror det går galt fordi du bruger session_register(), session_unregister(), session_is_registered() o.a. I stedet skal du nok bruge $_SESSION['navn']=$var;, unset($_SESSION['navn']);, isset($_SESSION['navn']); Serveren du afvikler på har sandsynligvis sat register_globals()=off.
Avatar billede Slettet bruger
20. juli 2003 - 19:42 #6
Ok, mange tak, det prøver jeg snarest muligt og vender så tilbage! :)
Avatar billede Slettet bruger
24. juli 2003 - 10:38 #7
Jeg undskylder mange gange den lange ventetid, men jeg har endnu ikke haft mulighed for at teste dit svar. Du må væbne dig med tålmodighed! :)
Avatar billede detox Nybegynder
24. juli 2003 - 17:23 #8
Bare giv dig god tid, det haster ikke for mig. c",)
Avatar billede Slettet bruger
24. juli 2003 - 17:27 #9
Nu har jeg så i mellemtiden fået kontaktet én, der har opdateret PHP-versionen på serveren til 4.3.2, og derfor er problemstillingen ikke aktuel længere.

Men du skal have mange tak for din hjælp, og hvis du lægger et svar, får du dine point right away! :)
Avatar billede detox Nybegynder
24. juli 2003 - 17:37 #10
Jeg er osse godt tilfreds med 4.3.2. Takker for points.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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