Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pilnie potrzebuję pomocy!
Forum PHP.pl > Forum > PHP
Iza
Mam problem z pobieraniem zmiennych z formularza html przez skrypt php. Zainstalowałam FOXSERV.
Prosty przykład,który działa u innych, a u mnie nie
plik html:
<html>
<body>

<form ACTION="proba.php" METHOD="post" >

<input TYPE="text" NAME="iza">
<input TYPE="submit" VALUE="OK">

</FORM>

</body>
</html>

plik proba.php:
<?php

echo "$iza"; //tutaj zmieniam " " na ' ' ale nic nie daje

?>

Skrypt php zwraca wartość null zmiennej name="iza" zamiast wpisywanej wartości w formularzu html.
Proszę o pomoc!
Sir Blade
masz wlaczonego apache'a ?
dzialasz na http://localhost ?
skrypt jest pod foxserv/www/?
Seth
Nie wiem czy to prawda ale podobo w nowej wersji php zmienne super globalne sa juz inaczej traktowane tylko przez $HTTP_POST_VARS i $HTTP_GET_VARS
Ja do odbierania zmiennych zewnetrznych proponuje teki kod:
Kod
$vars_array = array_merge( $HTTP_POST_VARS, $HTTP_GET_VARS );

echo $vars_array['nazwa_zmiennej'];
Sir Blade
kod IZY mi dziala a pare dni temu takze zainstalowalem foxserv'a ver 2. zatem nie tu lezy problem...
Iza
Mam włączonego Apacha i działam na localhost. Pliki html i php trzymam w innym katalogu, określiłam go w php.ini i httpd.conf.
Sir Blade
default'owo taka powinna byc sciazka do skryptu http://localhost/iza/iza.php oczywiscie jezeli wsadzilas skrypt iza.php do podkatalogu iza
Sir Blade
cos mi sie zdaje, ze cos 'poplatalas' w php.ini i httpd.conf.
Iza
Sorry, że tak długo czekaliście. Wszystkie pliki html i php trzymam w tym samym katalogu o nazwie www na C.
Zmienną w pliku php.ini ustawiłam tak:
doc_root=c:www
W httpd.conf
DocumentRoot C:www
Mam Windows'95.
Seth
Patrzylas moj kod? Tak powinno dzialac
hyper
Spróbuj do proba.php dodać linię:
Kod
var_dump($HTTP_POST_VARS);

Teraz jescze raz wywołaj skrypt i powiedź czy widzisz swoją zmienną
(ewentualnie wklej rezultat).
Iza
Czekajcie, sprawdzam wszystko. Jesteście kochani, Dzięki!
Kod Setha zadziałał!!!!!!!
Sprawdzam, resztę, bo będe potrzebowała jeszcze zrobić z tego insert do tablicy.
Seth
Nie lubie pisac az tak lopatologicznie ale tak powinny wygladac te pliki:

Plik HTML (test.html0
Kod
<html>

<body>

  <form ACTION="proba.php" METHOD="post" >

    <input TYPE="text" NAME="iza">

    <input TYPE="submit" VALUE="OK">

   </form>

</body>

</html>


Plik php (proba.php - w tym samym katalogu co test.html)
Kod
<?php

$vars_array = array_merge( $HTTP_POST_VARS, $HTTP_GET_VARS );



echo $vars_array['iza'];

?>
Iza
To jest wynik:

array(1) { ["IZA"]=> string(7) "dfdfdfd" }

Co robić dalej?questionmark.gif
Seth
a co dalej bys z tym zrobic chiala ?
hyper
Skoro $iza nie działa, a $HTTP_POST_VARS['iza'] działa, to oznacza że
masz nowszą wersje php oraz ustawione w php.ini Register_Globals = Off.

Zostało to wprowadzone ze względu na bezpieczeństwo. Jeśli chcesz się
odwoływać do zmiennych przez $nazwa, a nie przez
$HTTP_(POST | GET)_VARS['nazwa'] to zmień w php.ini linie z
Register_Globals na wartość On.

Więcej o zmiennych z formularzy:
http://pl.php.net/manual/pl/language.varia...es.external.php
hyper
Seth: to było do mnie, rezultat var_dump() żeby sprawdzić czy się w
ogóle ustawiają zmienne.
Seth
wiem, za pozno sie skapowalem winksmiley.jpg
Iza
Dzięki, jesteście Wielcy. Działa Hyper!!!
Chyba sie popłaczę.
Jestem mocno początkująca, jak widać i ....nie wiem juz co mam powiedzieć, bo i tak długo czekacie na odpowiedź. Bardzo dziękuję. Myślę, że dalej poradzę sobie sama. biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif
hyper
Cała przyjemność jest po naszej stronie. Miło nareszcie spotkać na forum
przedstawicielkę płci pięknej 8). Powodzenia w dalszym programowaniu
w php!
Iza
Jesteście prawdziwymi profesjonalistami. Męczyłam z tym problemem prawie 2 dni :oops: , pytałam wiele osób, a Wy rozwiązaliście go w parę minut.
castor
Cytat
Kod
$vars_array = array_merge( $HTTP_POST_VARS, $HTTP_GET_VARS );

echo $vars_array['nazwa_zmiennej'];


..po co laczysz te dwie tablice jesli formularz wyslany jest postem?questionmark.gif przeciez po to wprowadzili te zabezpieczenia ze jak cos postem odbierasz to zeby nikt ci czegosc URLem nie podsunal :wink:
Seth
To tak na przyszlosc, zeby miec wszystkie zmienne zewnetrzne w jednej tablicy. Ale rzeczywiscie z tym GETem moga byc klopoty. Troche bezpieczniej bedzie w takiej formie:
Kod
$vars_array = array_merge( $HTTP_GET_VARS, $HTTP_POST_VARS  );

echo $vars_array['nazwa_zmiennej'];

Jezeli ktos poda w urlu zmienna, ktora juz jest przekazana POSTem to i tak zostanie ona zamieniona, nadpisana na ta z posta.

Jak by na to nie patrzec chodzilo mi o zastosowanie tych zmiennych:
$HTTP_GET_VARS
$HTTP_POST_VARS
Sir Blade
czyzby SETH zmienil tresc topicu?questionmark.gif Pamietam cos o gg!! :wink:


wiecej kobiet na forum!!!
hyper
questionmark.gif
Seth
Cytat
czyzby SETH zmienil tresc topicu?questionmark.gif Pamietam cos o gg!!  :wink:  


wiecej kobiet na forum!!!

winksmiley.jpgsmile.gif
GeoS
W nowszym php, chyba od 4.2.0, nie sa rejestrowane zmienne globalne i to jest przyczyna tego problemu smile.gif

Dostep do zmiennych mamy teraz przez tablice $_post i $_get smile.gif

PS Zawsze sobie mozna spowrotem wlaczyc globalne smile.gif
ripman
Kumpel miał podobny problem ... o ile dobrze pamiętam to problem leżał w php.ini albo cos takiego - i było to cos z akceptowaniem POST.
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-2025 Invision Power Services, Inc.