Avatar billede jette1 Nybegynder
20. juli 2002 - 10:19 Der er 18 kommentarer og
1 løsning

Problem efter opgradering :-(

Vi har opgraderet PHP fra version 4.1.2 til versin 4.2.1 på vores Apache server.

Nu har jeg imidlertid fået det problem, at variabler ikke kan sendes fra side til side... hvis jeg f.eks. skriver:

<a href="dokument.php?variabel=værdi">Klik her</a>

.. så er "variabel" lig med ingenting på dokument.php

Og det drejer sig om sider der hidtil har kørt upåklageligt.

Hvad kan der være galt med vores nye version af PHP... der er 150 point til den der har guldkornet!
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:20 #1
Check your register_globals setting in php.ini as if it is off you must go through $HTTP_GET_VARS.

http://www.php.net/manual/configuration.php#ini.register-globals

$HTTP_GET_VARS['var']
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:21 #2
tjek også om track_vars er enabled.. i php.ini
Avatar billede sukos Juniormester
20. juli 2002 - 10:24 #3
Mon det er de færreste der læser release-notes?
Det har bare været oppe så mange gange! :O)
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:26 #4
Hehe.. nogen lever med den opfattelse at det er lige som den EULA ting der kommer med f. eks. microsofts programmer - det er jo oz bare noget man skipper ;o)
Avatar billede limemedia Nybegynder
20. juli 2002 - 10:27 #5
Et quick'n'dirty hack er at tilføje følgende kode

# Temp hack for global vars - forgive me father for I have sinned.
if (is_array($HTTP_GET_VARS)) extract($HTTP_GET_VARS);
if (is_array($HTTP_POST_VARS)) extract($HTTP_POST_VARS);
if (is_array($HTTP_COOKIE_VARS)) extract($HTTP_COOKIE_VARS);

/ LJ
www.ljweb.com
Avatar billede jette1 Nybegynder
20. juli 2002 - 10:33 #6
esoulman -> Tilgiv mig min uvidenhed :-) ... men jeg ved kun hvordan man bruger PHP og har ikke en brik forstand på Apache eller installation af PHP på denne, og jeg havde ikke den fjerneste idé om hvor jeg skulle starte med at lede ... Kæresten har forstand på Apache men ikke PHP, så han vidste heller ikke hvad der kunne være galt.

Nu står vi imidlertid i den situation at vi slet ikke kan finde php.ini :-(
Hvor bør den ligge? ... og hvis vi ikke har den, kan man så downloade en standard php.ini ét eller andet sted?

Jeg ved godt jeg lyder som en ret tåbelig newbie, men jeg håber I gider hjælpe alligevel (be-be)
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:34 #7
c:\windows\php.ini
c:\winnt\php.ini

Det er da helt iorden at alle ikke er nørder :)
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:35 #8
Så skal du finde det sted hvor der eksempelvis står:

track_vars = "off" og skrive on i stedet.
Avatar billede jette1 Nybegynder
20. juli 2002 - 10:40 #9
esoulman -> nu bliver jeg rigtig besværlig :-)... men hvad nu hvis det er en Unix-server... hvor ligger den så?
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:42 #10
f*ck... der er jeg ik på hjemmebane.. kan du ik prøve at søge efter den måske?
Avatar billede sukos Juniormester
20. juli 2002 - 10:42 #11
Hvis du loader en info-fil i din browser:

<?php phpinfo(); ?>

så står der som noget af det første hvor php.ini ligger
Avatar billede esoulman Nybegynder
20. juli 2002 - 10:43 #12
/usr/local/lib/php.ini  måske
Avatar billede bramming Nybegynder
20. juli 2002 - 11:06 #13
.. Jeg mener at efter du har opgraderet den kan der forekomme konflikter...! - Og der kan være en "enkelt" opsætning der bare skal rettes.. og så køre d... - Jeg villle prøve at følge denne guide...
http://www.php.net/manual/configuration.php#ini.register-globals

Mvh. >> Bramming
Avatar billede jette1 Nybegynder
20. juli 2002 - 11:25 #14
Ja, så kører det igen... tusind mange gange tak til esoulman for at lede mig på sporet... du har i høj grad fortjent pointene :-) ... men hvis jeg lige på presse det sidste ud af appelsinen og spørge dig hvad der egentlig menes med nedenstående, som står i php.ini. Det virkede nemlig først igen, da vi satte register_globals til "On" i stedet for "Off", men jeg læser det som om det giver sikkerhedsproblemer .. hvordan det?:

Whether or not to register the EGPCS variables as global variables.  You may want to turn this off if you don't want to clutter your scripts' global scope with user data.  This makes most sense when coupled with track_vars - in which case you can access all of the GPC variables through the $HTTP_*_VARS[], variables.

You should do your best to write your scripts so that they do not require register_globals to be on;  Using form variables as globals can easily lead to possible security problems, if the code is not very well thought of.
Avatar billede jette1 Nybegynder
20. juli 2002 - 11:33 #15
Kæresten vil ikke gå med til at alle pointene går til esoulman, da bramming jo egentlig ramte plet med register_globals :-)

Derfor 50 point til bramming og 100 point til esoulman ...

esoulman --> smider du lige et svar?
Avatar billede esoulman Nybegynder
20. juli 2002 - 11:35 #16
Tjek mit første indlæg, der står det samme link som Bramming skrev senere...

Det med sikkerheden ved jeg godt nok ikke.. men størstedelen af de servere jeg har set har begge dele "enabled" og det kører tilsyneladende uden problemer...

svar :)
Avatar billede jette1 Nybegynder
20. juli 2002 - 11:45 #17
Det er også rigtigt :-) Værs'go :-))
Avatar billede esoulman Nybegynder
20. juli 2002 - 11:48 #18
Mange tak :)
Avatar billede bramming Nybegynder
20. juli 2002 - 11:51 #19
Hey det var mit svar.. nå okay fortjent nok..!

>> Bramming
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