Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
[PHP] Pytanie http://forum.freesco.pl/viewtopic.php?f=28&t=13715 |
Strona 1 z 1 |
Autor: | erni [ wtorek, 3 października 2006, 15:07 ] |
Tytuł: | [PHP] Pytanie |
Witam, Z powodu mojej zlamanej nogi przyznano mi indywidualne nauczanie (jestem w 3 klasie liceum informatycznego). Przyjechal dzisiaj do mnie gosc od infy, a akurat pierwsze zaczal od PHP, powiedzial, zebym sciagnal Apache, ale skoro mam serwer to musialem to wykorzystac, wczesniej juz mialem zainstalowanego apache i php, wiec zaczelismy pierwsze zadanie. mam plik 'form.html' a w nim: <form action=index.php> <input type="text" name="tekst" /> <input type="submit" value="OK" /> </form> i jaki skrypcik ma teraz zawierac plik 'index.php' aby zczytalo z tego formularza ta zmienna? (chodzi o najprostsze wypisanie tej zmiennej na stronie index.php) Gosc probowal na wiele sposobow, ale mu cos nie wychodzilo ![]() Wersja PHP: 4.4.2-1 Bede wdzieczny za pomoc ![]() |
Autor: | MGM [ wtorek, 3 października 2006, 15:18 ] |
Tytuł: | |
Autor: | erni [ wtorek, 3 października 2006, 16:20 ] |
Tytuł: | |
no i nic :/ dalem cos takiego: i wypisalo cos tam, i tyle :/ w adresie jest ...index.php?tekst=to co wpisalem ale na stronie tego nie widac ![]() Probowalem tez w tym skrypcie dac zmienna w cudzyslow, w nawiasy, w pojedyncze nawiasy i nic sie nie wyswietla - pusto... Z czym to moze byc? |
Autor: | MGM [ wtorek, 3 października 2006, 16:32 ] |
Tytuł: | |
nie wiem jak Ty to robisz.... form.html pisze: <form action="odczyt.php" method="post"> <input type="text" name="tekst"> <input type="submit" value="OK"> </form> odczyt.php pisze: <?php
echo $tekst; ?> |
Autor: | JakubC [ wtorek, 3 października 2006, 17:53 ] |
Tytuł: | |
Najbardziej znany błąd jaki istnieje chyba;) <?php echo $tekst; ?> A właśnie że nie! Trzeba używać tablic superglobalnych. tak będzie działać: <?php echo $_POST['tekst']; ?> Pozdrawiam:) |
Autor: | MGM [ wtorek, 3 października 2006, 18:18 ] |
Tytuł: | |
heh, inna wersja php - u mnie, na starszej wersji (4.4.0-2nnd), dziala tak jak napisalem ![]() |
Autor: | JakubC [ wtorek, 3 października 2006, 18:21 ] |
Tytuł: | |
Owszem, działa, ale tylko jeżeli REGISTER_GLOBAL masz włączone, ktore jest niebezpieczna opcja i w tej chwili jest domyślnie wyłączona, po za tym nie powinno sie tak pisac, a tym bardziej uczyc. |
Autor: | erni [ wtorek, 3 października 2006, 18:31 ] |
Tytuł: | |
wlasnie moj wychowawca powiedzial, ze mam nowa wersje php i nie bedzie to dzialac, mowil tez o jakichs tablicach... To cos nie chcialo dzialac: ale, ze gosc podobnie kombinowal z GET, to wykombinowalem cos takiego: ...i dziala ![]() Dzieki za pomoc ![]() EDIT: Punkcika nie moge dac...? |
Autor: | JakubC [ wtorek, 3 października 2006, 18:34 ] |
Tytuł: | |
Cytuj: <form action="odczyt.php" method="post"> <input type="text" name="tekst"> <input type="submit" value="OK"> </form> Patrzalem na ten formularz, uzywajac go, musisz miec POST, w przypadku geta oczywiscie get;) Cytuj: mowil tez o jakichs tablicach... Chyba sie nie uważało... ![]() |
Autor: | TheL [ środa, 4 października 2006, 10:23 ] |
Tytuł: | |
Czym się różnią metody POST i GET przy wysyłaniu danych do skryptu ? Metody wysyłania formularzy POST i GET znacznie różnią się od siebie. Najczęściej używaną metodą przesyłania danych jest POST, z uwagi na większe możliwości i wyższy stopień bezpieczeństwa. POST Gdy wysyłasz dane metodą POST do skryptu PHP, zostaną one umieszczone w tablicy $_POST, która jest tablicą superglobalną, czyli można się do niej odwołać w każdym miejscu kodu bez dodatkowych zabiegów. W wersjach PHP starszych. niż 4.1.0 tablica ta nosi nazwę $HTTP_POST_VARS. Metoda POST nie narzuca ograniczenia ilości przesyłanych danych, dla tego jest z powodzeniem stosowana w ogromnej większości formularzy na stronach WWW. Dodatkowym jej atutem jest fakt, że podczas wysyłania danych użytkownik nie może podejrzeć ich treści, jak to ma miejsce przy stosowaniu metody GET. Ta właściwość POST czyni ją najlepszym rozwiązaniem także przy przesyłaniu danych autoryzacyjnych. Metoda ta służy także do uploadowania plików. GET Dane uzyskane z formularza przy użyciu GET umieszczane są w tablicy $_GET, lub $HTTP_GET_VARS w wersjach PHP starszych, niż 4.1.0. Tablica ta także jest superglobalem. Metoda GET różni się od POST tym, że posiada ograniczenie ilości przesyłanych danych. Są one umieszczane w adresie docelowego dokumentu. Jeśli więc wyślesz zmienną $imie i $nazwisko do skryptu "skrypt.php" używając GET, to zawartość pola formularza zostanie przesłana w adresie: "skrypt.php?imie=wartosc&nazwisko=wartosc". Adres dokumentu został oddzielony od parametrów znakiem zapytania, a same parametry oddziela od siebie znak ampersand ("&"). Widać wyraźnie, że ilość danych przekazywanych metodą GET jest ograniczona maksymalną długością odnośnika do skryptu. ten form metoda post: form.html <FORM NAME="formularz" ACTION="index.php" METHOD="post"> <INPUT NAME="tekst" TYPE="text"> <INPUT TYPE="submit" VALUE="WYSLIJ"> </FORM> index.php ten form metoda get: form.html <FORM NAME="formularz" ACTION="index.php" METHOD="get"> <INPUT NAME="tekst" TYPE="text"> <INPUT TYPE="submit" VALUE="WYSLIJ"> </FORM> index.php Nie poszlo Ci za pierwszym razem dlatego ze nie wskazales metody wyslania danych. Tak jak JakubC napisal przy wylaczonym register globals pobrac dane ze zmiennej mozna jedynie uzywajac tablicy superglobalnej. ![]() pozdrawiam. (Wlacz sobie register globals to pobierzesz dane ze zmiennej normalnie przez echo $zmienna ![]() |
Autor: | tasiorek [ środa, 4 października 2006, 14:57 ] |
Tytuł: | |
Piekne, ale cytujac wypadaloby podac zrodlo cytatu, a jeszcze lepiej wkleic linka, zamiast calego tekstu. Co do ostatniego zdania, to po raz kolejny rada: pomysl zanim cos napiszesz. |
Autor: | JakubC [ środa, 4 października 2006, 17:27 ] |
Tytuł: | |
A idz z register globals, to tak jak by wykopac sobie grob. Cytuj: Piekne, ale cytujac wypadaloby podac zrodlo cytatu, a jeszcze lepiej wkleic linka, zamiast calego tekstu.
Wlasnie, nie tworzmy tu sklejek kursu o php. Przeciez tyle jest tego w sieci, wystarcza google. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |