1 (edited by versus 2007-03-12 18:11:51)

Topic: Kintamojo nuskaitymas iš kito puslapio

Pradėjau skaityt PHP ir jau problema pirmuose pavyzdžiuose.

<form action="failas.php" method="GET">
    Please fill in the following fields:<br />
    <b>First name:<br />
    <input type="text" name="first" 
        value="<?php print($first); ?>" size="15"><br />
Your name is <?php print($first); ?>

čia kodų fragmentai iš skirtingų puslapių. įvedus pirmame vardą turi kitame atspausdinti jį.
Problema ta, kad neatspausdina nieko t.y. tik "Your name is" .
Skaičiau, jog reiktų nustatyti register_globals = on, tačiau nepadeda.
Na, kas bent kiek patyręs, manau padės. PHP versija 5.2.0
Dėkui iš anksto.

Emmm :) Pabandžiau vietoj

<?php print($first); ?>

rašyti

 <?php print($HTTP_GET_VARS["first"]); ?>

ir gavau reikiamą rezultatą. Ar toks būdas yra saugus?

2 (edited by Armands 2007-03-12 21:57:25)

Re: Kintamojo nuskaitymas iš kito puslapio

nesaugus.  naujose versijose globalai yra išjungti pagal nutylėjimą. teks priprast, kad skaitant PHP4 (spėju) rasi atgyvenusių dalykų. ir šiaip geriau naudok $_GET['first'].

Re: Kintamojo nuskaitymas iš kito puslapio

to Armands: ačiū :)

O tęsiant temą.. kodėl išjungė tą register_globals. T.y. kodėl blogai palikti On?

Re: Kintamojo nuskaitymas iš kito puslapio

Todėl, kad gaunasi taip, kad automatiškai registruojami kintamieji - daugiau galimybiu overwritinti kažkokį lokalų kintamąjį ir pan. - kitaip sakant daugiau galimybiu priprogramuoti saugumo spragų.