luinnar
15.02.2005, 13:12:50
Jak odczytać pole register_globals w configu php i czy da się zmienić jego wartość dla potrzeb skryptu tzn nie zmieniać jej całkowicie w konfigurce tylko wirtualnie tak jak to robi z sesjami funkcja session_save_path()
tiraeth
15.02.2005, 13:16:10
1) pole register_globals możesz
odczytać tak:
<?php
?>
2) chyba się nie da
luinnar
15.02.2005, 14:14:54
Chodziło mi bardziej o skryptowe odczytanie wartości tylko tego pola i przypisanie go do zmiennej tzn bez wyświetlania (czyli bez phpinfo() )
dr_bonzo
15.02.2005, 14:28:04
ini_set(), ini_get(), sprawdz czy da sie za ich pomoca zmienic ustawienie register globals -- raczej nie -- bo w momencie uzycia tych funkcji zmienne sa juz dawno zarejestrowane.
Poczytajj o flagach dla php ktore mozesz umieszczac w .htaccess --->
http://pl2.php.net/configuration.changes
luinnar
15.02.2005, 14:46:17
Tak dzięki za te funkcje to są te o które mi chodziło.
Jednak pojawił się nowy problem.
Były mi one potrzebne do tego aby mój skrypt zawsze ustawiał sobie register_globals na off. Jednak większość ludzi którzy instalują takie skrypty na bezpłatnych serverach (np lycos) mają register_globals na on i wyłączone funkcje ini_...() tak więc pisanie skryptów przez register_globals on jest w sumie nieopłacalne ponieważ dużo ludzi nie będzie mogło go zaimplementować.
Chyba że są na to jakieś inne sposoby?
Niestety ja ich nie widzę, a może wam coś świta?
dr_bonzo
15.02.2005, 15:02:23
Mozesz pisac skrypty uzywajac $_GET i $_POST ( czy ich starszych odpowiednikow) mimo ze register_globals jest ON.
luinnar
15.02.2005, 15:08:33
szkoda że nie napisałeś jek to sobie wyobrażasz.
musiałbym wysyłaś zmienne o nazwach $_GET['cos'] w adresie, zmienne sesyjne zaczynać od $_SESSION['ble']
o to ci chodziło?
dr_bonzo
15.02.2005, 15:24:10
Jesli przeslesz url
?val1=aaaa&val2=bbb
to mozesz sie do nich ZAWSZE odwolac
$_GET[ 'val1' ], $_GET[ 'val2' ] (lub w starszym php HTTP_GET_VARS?

)
a register_globals na ON doda ci tylko dodatkowe zmienne (NIEZALECANE)
$val1, $val2
luinnar
15.02.2005, 15:34:55
dr_bonzo dziękuje ci bardzo.
I przy okazji podziwiam wiedze która jest wielka w porównaniu do mojej.
dr_bonzo
15.02.2005, 15:39:12
Chewolf
15.02.2005, 17:47:25
Myślę że możesz też stosować :
<?php
if ($HTTP_POST_VARS) foreach ($HTTP_POST_VARS as $Key => $Value) $$Key = $Value;
if ($HTTP_GET_VARS) foreach ($HTTP_GET_VARS as $Key => $Value) $$Key = $Value;
?>
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.