Przekazanie identyfikatora w PHP


(WODZU) #1

Witam,

PHP zajmuję się od czasu do czasu i pojawił się pewien problem. Otóż chcę aby link przekazał jakiś identyfikator do kolejnej strony zapisanej w pliku PHP. Do tej pory robiłem to tworząc taki link:

Link[/code]


a w pliku index.php zwyczajnie odwoływałem się do tego identyfikatora w sposób np taki:

[code]echo $id;

i wspomniany identyfikator wyświetlał się.

Wszystko działa poprawnie jeśli uruchamiam to pod PHP4. Niestety w PHP5 identyfikator nie jest przekazywany. Co zrobić aby działało to również w PHP5?


(Grzesiek1) #2

Jak taki sposób Ci działa, to Ty tam chyba obecnie masz php w wersji 2 czy 3, bo to lata temu tak działało.

Teraz musisz już odwoływać się do zmiennych z metody get w ten sposób.

echo $_GET['id']

(Kontakt) #3

Zamień to na:

<?php

echo $_GET['id'];

?>

(WODZU) #4

Wielkie dzięki panowie za szybką pomoc - działa. Jak wspomniałem PHP używam od wielkiego dzwonu i tylko do bardzo prostych zastosowań. Testowałem to na XAMPP który posiada PHP 4.4.1 i PHP 5.1.1 z możliwością ich przełączania.


(adpawl) #5

WODZU, zależy od konfiguracji ...dokładniej register_globals http://pl2.php.net/register_globals

jeżeli jest włączona - zmienne są automatycznie tworzone i możesz je łapać jak wcześniej przykład: echo $id;

ale na większości serwerów jest ona wyłączona i zmienne przesyłane do skryptu musisz odbierać przez odpowiednie tablice np. $_GET $_POST $_COOKIE $_SESSION $_SERVER (deprecated)


(Grzesiek1) #6

Ja dodam że lepiej tego nie włączać, bo może to znacznie obniżyć bezpieczeństwo skryptów.

Bodajże od 4.2.0 ta opcja jest domyślnie wyłączona wiec nie wiem czemu Ty to masz włączone :stuck_out_tongue:


(WODZU) #7

Masz rację. Zapomniałem o tym, a jakiś czas temu na potrzeby jakiegoś testu włączyłem ją ręcznie, później przełączyłem się na PHP5, a w 4 ta opcja pozostała włączona. Już to poprawiłem. Dzięki za zwrócenie uwagi :slight_smile: