Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Problem Switch-Case, GET, POST
lukaszk
post 22.01.2011, 23:32:35
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.12.2010

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


Witam, mam pewien problem z metodami GET
moaj strona jest zbudowana tak
Linki

  1. <li><a href="index.php?parent=mod_art_news" title="Newsy">Newsy</a></li>


w pliku głównym podstrony się otwierają w za pomocą switch - case
  1. switch ($_GET['parent']) {
  2. case "border":
  3. include "page/index.php";
  4. break;
  5. case "testing":
  6. include "page/border.php";
  7. break;
  8. case "toplista_sql_test":
  9. include "page/page/index.php";
  10. break;


Problem jest taki że np formularze które zbudowałem na GET wysyłają dane w pasku adresu i trafia to do switch-a czyli dane się nie wysyłają a otwiera się strona domyśla jako default
Obecnie jesem zmuszony budować formularze metodą POST

Proszę o pomoc jak to zrobić aby jedno i drugie działało ale aby GET nie wchodził do switcha.
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
d3ut3r
post 23.01.2011, 01:37:57
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


na przykład dodaj do linków zmienną która będzie mówiła "to zapytanie pochodzi z linku".

  1. <li><a href="index.php?parent=mod_art_news&l=1" title="Newsy">Newsy</a></li>


  1. if ((int)$_GET['l']==1){
  2. switch ($_GET['parent']) {
  3. case "border":
  4. include "page/index.php";
  5. break;
  6. case "testing":
  7. include "page/border.php";
  8. break;
  9. case "toplista_sql_test":
  10. include "page/page/index.php";
  11. break;
  12. }



--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
lukaszk
post 23.01.2011, 17:54:49
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.12.2010

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


Dziękuję za pomoc ale mam jeszcze pytanie i proszę "nie czepiajcie się" smile.gif jakiś czas ktoś tu na forum napisał mi ktoś aby nie odbierać danych metodą POST tylko GET nie argumentując tego. Trochę czytałem na temat tych metod i nie znalazłem nic co przemawia za tym że POST jest nieodpowiednia.
Proszę o kilka zdań waszej sugestii dlaczego lepiej korzystać z GET i jak zabezpieczyć przesyłanie danych w obu metodach.

Pozdrawiam i liczę na pomoc smile.gif
Go to the top of the page
+Quote Post
Daiquiri
post 23.01.2011, 18:05:39
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




A jak podasz np. linka do podstrony zbudowanej z POSTów? smile.gif Dane wysyłane są "niejawnie". A tak zupełnie na poważnie: wpisz POST czy GET w wyszukiwarce i znajdziesz tam multum wyników opisujących różnice, zalety i wady obu rozwiązań.
Go to the top of the page
+Quote Post
tehaha
post 23.01.2011, 18:07:08
Post #5





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


POST i GET to po prostu 2 różne metody, nie ma lepsza czy gorsza, GET służy do przesyłania zmiennych za pomocą adres URL, natomiast POST do przesyłania danych przez formularz, w przypadku formularza można użyć obu metod, ale przeważnie używa się POST

Ten post edytował tehaha 23.01.2011, 18:07:30
Go to the top of the page
+Quote Post
lukaszk
post 24.01.2011, 17:22:47
Post #6





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.12.2010

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


Mi metodą post jest lepiej i zdziwiłem się że tak ktoś tu zareagował. Niedługo wkleję kod smile.gif

Tak oczywiście z tego pliku zaczytuje również wartości innych zmiennych i tam jest ok ale tu niestety nic
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:38