Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pomoc ze zrozumieniem książki
pkosciej
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


Czytam własnie ksiazke o php, mam podany taki przykład, który pozwala na odczytywaniu wartosci z formularzy

Welcome4.html

  1.  
  2. <from action "welcome4.php" method="post">
  3. <input type="text" name="firstname" /></label><br>
  4. <input type="submit" value="wyslij" />
  5. </from>


welcome4.php

  1.  
  2. <?php
  3. $firstname = $_POST['firstname'];
  4. echo "Witaj $firstname";
  5. ?>
  6.  


Z książki zrozumiałem, że wpisuje się w formularzu "firstname" wartość tego firstname przekazywana jest do pliku welcome4.php a konkretnie "$_POST['firstname']"
po czym tworzy się zmieną "$firstname" i przypisuje sie jej wartość ->"$_POST['firstname']"
elektem jest mozliwosc korzystania ze zmiennej $firstname w calym pliku welcome4.php przechowująca tekst podany przez użytkownika

Teraz sie zastanawiam...po co to wogole?(IMG:style_emoticons/default/questionmark.gif)
zrobiem sobie taki sam przyklad na swoim serwerze. jednak zrobilem to w ten sposob:

<?php
echo "Witaj $firstname";
?>

co sie okazało przykład dalej działał prawidłowo, bez zadnych zmian, tak wiec ku czemu słóży ta linijka
$firstname = $_POST['firstname'];

(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Działa na Twoim serwerze bo masz włączone ustawienie "register_globals", które nie powinno być włączone.
Go to the top of the page
+Quote Post
pkosciej
post
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


ok, trochę o tym własnie przeczytałem.
Czyli formularze generują zmienne globalne, ale w jakich plikach? zmiennych tych mogę używać w dokumencie do którego został przesłany formularz czyli w tym przypadku welcome4.php? czy wszystkich plików w katalogu, na serwerze czy jak?
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Bardzo dobra rada: weź głęboki oddech i zapomnij o "register_globals".

Cytat
Działa na Twoim serwerze bo masz włączone ustawienie "register_globals", które nie powinno być włączone.


http://ch2.php.net/manual/en/security.globals.php @ Warning

Ten post edytował melkorm 16.02.2012, 16:15:39
Go to the top of the page
+Quote Post
pkosciej
post
Post #5





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


ok, wiem ze jest to nie dobre i od dzisiaj zamierzam używać dotychczas nie użwane przezemnie

$cos= $_POST['cos'];

no, ale chyba możecie mi odpowiedzieć na mojego posta wyżej;) chcial bym wiedziec jak to działa
Go to the top of the page
+Quote Post
melkorm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Masz wszystko napisane w manualu, naucz się z niego korzystać a oszczędzisz sobie i nam sporo czasu (IMG:style_emoticons/default/smile.gif) Zresztą w necie i na forum jest sporo info na ten temat (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pkosciej
post
Post #7





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


ech... zatytułowałem posta, że nie rozumiem książki i proszę o wyjaśnienie a w odpowiedzi dostałem poczytaj w necie...
Go to the top of the page
+Quote Post
melkorm
post
Post #8





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Te zmienne są generowane globalnie (jak sama nazwa wskazuje _globals), czyli, każdy wywołany plik w danym żądaniu będzie widzieć tą zmienną (chyba że ją nadpiszesz) tworzone one są przez silnik PHPa w tle z tablic globalnych między innymi: $_POST i $_GET (ich klucze stają się nazwami zmiennych) porządek w jakim są one określane czyli jeżeli masz $_GET['action'] i $_POST['action'] determinuje flaga variables_order. Jak czegoś jeszcze nie wiesz to pytaj (IMG:style_emoticons/default/wink.gif)

PS. Ogólnie bardzo nie zaleca się z korzystania z tego i jeżeli widzisz jakikolwiek tutorial/książkę używającą tego to możesz na wstępie skreślić to źródło wiedzy (generalizuję ale w sieci jest pełno marnych kursów do PHP lub baaardzo przedawnionych).

Ten post edytował melkorm 16.02.2012, 17:40:36
Go to the top of the page
+Quote Post
pkosciej
post
Post #9





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


czyli w moim przypadku tylko plik welcome4.php będzie widział te zmienne bo tylko on został wywołany?
Go to the top of the page
+Quote Post
-~annonymous-
post
Post #10





Goście







Witam

  1. <from action "welcome4.php" method="post">
  2. <input type="text" name="firstname" /></label><br>
  3. <input type="submit" value="wyslij" />
  4. </from>


a nie powinno byc zamiast <from> <form> (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
fr33d0m
post
Post #11





Grupa: Zarejestrowani
Postów: 132
Pomógł: 4
Dołączył: 22.10.2010

Ostrzeżenie: (0%)
-----


@-~annonymous-,
Powinno być.

@pkosciej,
Tak. Możesz podać tytuł i autora książki?
Go to the top of the page
+Quote Post
by_ikar
post
Post #12





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(pkosciej @ 16.02.2012, 21:52:32 ) *
czyli w moim przypadku tylko plik welcome4.php będzie widział te zmienne bo tylko on został wywołany?


Tak, tylko w tym pliku, chyba że poprzez include/require dołączysz jakiś inny plik, do pliku, do którego zostało wysłane żądanie.

Te zmienne globalne, są generowane tylko na czas żądania. Jeżeli powiedzmy wyślesz dane POST'em do pliku A, w pliku B tych danych nie będzie, bo dane zostały wysłane do pliku A. Działa tak zarówno GET jak i POST. A działa to tak dlatego że są to zmienne, a jak sama nazwa mówi, zmieniają się. Są stałe globalne, które się nie zmieniają, bez różnicy jakie żądanie do jakiego pliku wysłałeś, dlatego nazywają się stałymi.

BTW, polecam ci już na tym etapie na którym jesteś, bo jako tako rozumiesz już podstawy, więc polecam ci darować sobie taką książkę, która uczy bardzo złych nawyków, które później może być ci trudno zmienić, w efekcie czego będziesz produkować kiepski kod.

Lepiej jakbyś poszukał w miarę aktualnej książki, która uczy odpowiedniego podejścia. ja niestety swoje początki miałem kiepskie, z racji właśnie złych nauk które czerpałem ze złych źródeł. Polecam ci omijać szerokim łukiem książki które w tytule mają "vademecum". Nie wiem jak jest ze wszystkimi, mam 2 różne, jedna dotyczy samego php, druga php i mysql i obie są bardzo kiepskie, kiedy patrzę na nie aktualnie...

Jedną z książek które mogę ci polecić, to książka włodzimierza gajdy "php praktyczne przykłady": http://helion.pl/ksiazki/php-praktyczne-pr...ajda,phpprp.htm która przy tych vademecum wypada na prawdę dobrze. Najbardziej to w sumie mnie się z tego wszystkiego spodobały wyrażenia regularne, które w końcu dzięki tej książce zrozumiałem (IMG:style_emoticons/default/wink.gif) to co przeczytałem o wyrażeniach czy też obiektówce w vademecum, to było jakieś nieporozumienie (IMG:style_emoticons/default/biggrin.gif)

Jest tam też w tej książce info o PDO, czy htaccess, który jest dość częstym tematem na forum. Tj. "przyjazne linki" czy "sql injection/filtrowanie danych".W vademecum nie uświadczysz takich "tajników", ponieważ są dość skrótowe.. Kiedyś tego nie rozumiałem, a wystarczyło się googla zapytać (IMG:style_emoticons/default/wink.gif) )
Go to the top of the page
+Quote Post
pkosciej
post
Post #13





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

Ostrzeżenie: (0%)
-----


Dzięki za pomoc panowie

ja sie uczę z php i mysql kevina yanka

http://helion.pl/ksiazki/php-i-mysql-witry...yank,phmsww.htm
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 00:10