Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zmienne w PHP5 ze starych wersji PHP
Forum PHP.pl > Forum > Przedszkole
bogdanh
Muszę przenieść serwis z serwera z zabytkową wersją PHP na serwer z PHP5.
Zmienne są deklarowane/odczytywane w stylu $_GET[zmienna] (bez apostrofów).
W includowanych plikach zmienne z np.: <a href="......."?zmienna=2...> sa czytane jako $zmienna, a nie przez GET itd, itd.
W tamtej wersji PHP to działa, a w PHP5 oczywiście nie.
Całośc ma w sumie kilkaset linii samego kodu więc odpadają korekty...
Czy da sie "ustawić" PHP5 tak aby był kompatybilny z takim "kodem"?
P.s.
Serwis ma około 12 lat i musi pracować, a twórca gdzieś zniknął w świecie, więc szukam metod pośrednich.
rocktech.pl
Witam.

Kilkaset linii kodu, toż to maleństwo. Uwierz mi, że przepisanie tego kodu jest koniecznością!
!*!
Cytat(bogdanh @ 6.06.2012, 12:19:39 ) *
Zmienne są deklarowane/odczytywane w stylu $_GET[zmienna] (bez apostrofów).

To w starszych wersjach nie miało chyba znaczenia.

Cytat(bogdanh @ 6.06.2012, 12:19:39 ) *
W includowanych plikach zmienne z np.: <a href="......."?zmienna=2...> sa czytane jako $zmienna, a nie przez GET itd, itd.

Włącz register_globals.

Choć zacznij pracować nad tym, aby przepisać całą aplikacje, za jakiś czas może się okazać że przestanie ona działa w ogóle, szczególnie przy migracji na php5.4 (bo to w niej pozbywają się rg i mq).
bogdanh
Dziekuje za register_globals. smile.gif
Zgadza sie - jeżeli chodzi o przepisanie.
Robią nowa wersje, ale ta stara musi popracowac jeszcze kilka tygodni.
amii
Ale to możesz wyrazeniem zrobić, zdaje się że coś takiego powinno zadziałać:

Podstaw do tej strony http://www.functions-online.com/preg_replace.html
pierwsze jako pattern drugie jako replace, subject to twoj kod php
#\$_GET\[(.*)\]#i
$_GET['$1']
bogdanh
Dziekuję Panowie. smile.gif
Pomogły rady.
Mephistofeles
Doradzanie włączenia register_globals to zły pomysł, ponieważ tworzy lukę bezpieczeństwa.
Lepiej już dopisać trochę warunków i ręcznie uzupełnić zmienne. Aż tak dużo parametrów w URLach to chyba nie ma?
!*!
Cytat(Mephistofeles @ 6.06.2012, 23:28:20 ) *
Doradzanie włączenia register_globals to zły pomysł, ponieważ tworzy lukę bezpieczeństwa.


Skoro w tym kilkunastoletnim kodzie, są takie kwiatki, to nie martwiłbym się tym, bo on w całości jest jedną wielką luką bezpieczeństwa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.