Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest sobota, 20 kwietnia 2024, 16:42

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 12 ] 
Autor Wiadomość
 Tytuł: [PHP] Pytanie
Post: wtorek, 3 października 2006, 15:07 
Offline
Użytkownik

Rejestracja: czwartek, 20 kwietnia 2006, 19:02
Posty: 101
Lokalizacja: Wadowice
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 :P
Wersja PHP: 4.4.2-1

Bede wdzieczny za pomoc :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 15:18 
Offline

Rejestracja: wtorek, 26 kwietnia 2005, 13:01
Posty: 67
Lokalizacja: Warszawa
: [/] [] ()
<?php
echo $tekst;
?>


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 16:20 
Offline
Użytkownik

Rejestracja: czwartek, 20 kwietnia 2006, 19:02
Posty: 101
Lokalizacja: Wadowice
no i nic :/
dalem cos takiego:
: [/] [] ()
<?php
echo ("cos tam");
echo $tekst;
?>

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?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 16:32 
Offline

Rejestracja: wtorek, 26 kwietnia 2005, 13:01
Posty: 67
Lokalizacja: Warszawa
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;
?>


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 17:53 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
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:)

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 18:18 
Offline

Rejestracja: wtorek, 26 kwietnia 2005, 13:01
Posty: 67
Lokalizacja: Warszawa
heh, inna wersja php - u mnie, na starszej wersji (4.4.0-2nnd), dziala tak jak napisalem ;)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 18:21 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
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.

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 18:31 
Offline
Użytkownik

Rejestracja: czwartek, 20 kwietnia 2006, 19:02
Posty: 101
Lokalizacja: Wadowice
wlasnie moj wychowawca powiedzial, ze mam nowa wersje php i nie bedzie to dzialac, mowil tez o jakichs tablicach...
To cos nie chcialo dzialac:
: [/] [] ()
<?php
echo $_POST['tekst'];
?>


ale, ze gosc podobnie kombinowal z GET, to wykombinowalem cos takiego:
: [/] [] ()
<?php
echo $_GET['tekst'];
?>

...i dziala :)
Dzieki za pomoc ;)

EDIT:
Punkcika nie moge dac...?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 3 października 2006, 18:34 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
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... ;)

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 4 października 2006, 10:23 
Offline
Użytkownik

Rejestracja: środa, 26 października 2005, 13:02
Posty: 1404
Lokalizacja: Mińsk Mazowiecki
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
: [/] [] ()
<?php
echo $_POST['tekst'];
?>


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
: [/] [] ()
<?php
echo $_GET['tekst'];
?>



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. :D
pozdrawiam.
(Wlacz sobie register globals to pobierzesz dane ze zmiennej normalnie przez echo $zmienna :D

_________________
www.komputer.cuprum.pl
Intel Core 2 DUO QUAD, DUAL DDR2 8GB, GF8800 1 GB, HDD SATAII 750 GB + 750 GB + 80GB + IDE HDD 40 GB, Linux Mandriva 2008 PP


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 4 października 2006, 14:57 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
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.

_________________
FAQ dla NND: http://nnd-linux.pl/faq.php
Doswiadczenie, to cos, co zdobywasz tuz po chwili w ktorej go potrzebowales.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 4 października 2006, 17:27 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
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.

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 12 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl