[php] Dane z formularza

0

Witam,

Mam dziwny problem. Na pewno zapomniałem o jakimś drobiazgu, ale nie moge dac sobie rady.

Mam formularz i skrypt go obsługujacy. Zawsze bylo tak ze skrypt obslugujacy mial od razu wypelnione zmienne danymi z formularza (nazwy zmiennych jak nazwy obiektow formularza) a teraz tak nie jest i nie wiem czemu? Natomiast jak użyje $_POST[] to wszystko jest ok. Czemu tak się dzieje? czy to jakieś ustawienie serwera specyficzne?
Dla pewności podaje kody:

<form id="form1" name="form1" method="post" action="b.php">
  <label>df
  <input type="text" name="t" />
  </label>
  <label>gvbgbvg
  <input type="submit" id="Submit" value="Submit" />
  </label>
</form>
<?php
//$t = $_POST['t'];
echo $t;
?>
0

To zależy od tego, czy na serwerze włączona jest opcja register_globals. Nie jest ona zalecana, dlatego w większości przypadków jest wyłączona. Używaj tablicy $_POST.

0

mi sie wydaje, ze w wiekszosci wypadkow jest wlaczona :/. Mimo wsz7ystko korzystaj z $_POST, a jezeli nie da sie globalsow wylaczyc, to rob to "sztucznie" (np. wywolanie PHP rob jako zawartosc funkcji)...

mm nadzieje ze zostalem zrozumiany :]. Ew jak jutro wywietrzeje to wyjasnie :P

0

Tomkiewicz źle ci sie wydaje:

manula php napisał(a)

Perhaps the most controversial change in PHP is when the default value for the PHP directive register_globals went from ON to OFF in PHP 4.2.0

Co do tematu - używaj tablic globalnych jak należy i tyle.. nie widze problemu :|

0

to, ze domyslna wartoscia jest OFF, nie znaczy, ze na wiekszosci (chocby polskich) serwerow nie jest ON... Admini jakby poustawiali OFF, to by dostawali setki maili / telefonow dziennie, ze "strona mi nie dziala"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.