Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z odczytem $_GET ?, lub ze zmienną
shpaque
post 21.10.2014, 09:30:46
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam mam coś takiego, co przenosi dane GETEM do następnej strony:

  1. <?
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. $action = isset($_POST['action']) ? $_POST['action'] : '';
  5. if ($action == 'search')
  6. {
  7. $fromcountry = $_POST['from-country'];
  8. $fromland = $_POST['from-land'];
  9. $tocountry = $_POST['to-country'];
  10. $toland = $_POST['to-land'];
  11. $fromday = $_POST['from-day'];
  12. $frompowiat = $_POST['from-powiat-'.$fromland.''];
  13. $topowiat = $_POST['to-powiat-'.$toland.''];
  14.  
  15. if (($fromcountry == 'PL') || ($tocountry == 'PL'))
  16. {
  17. header('Location: ./search.php?from='.$fromcountry.'+'.$fromland.'+'.$frompowiat.'&to='.$tocountry.'+'.$toland.'+'.$topowiat.'&day='.$fromday.'');
  18. }
  19. else
  20. {
  21. header('Location: ./search.php?from='.$fromcountry.'&to='.$tocountry.'&day='.$fromday.'');
  22. }
  23. }
  24. }
  25. ?>


na kolejnej stronie "search.php" wszystko jest odczytywane ok niby, bo:

  1. <?
  2.  
  3. $from = $_GET['from'];
  4. $to = $_GET['to'];
  5. $day = $_GET['day'];
  6.  
  7. list($fromcountry, $fromland, $fromcity) = split(' ', $from);
  8. list($tocountry, $toland, $tocity) = split(' ', $to);
  9.  
  10. if ($fromcountry == 'PL') {$fromcountry = 'Polski';}
  11. else if ($fromcountry == 'DE') {$fromcountry = 'Niemiec';}
  12. else if ($fromcountry == 'BE') {$fromcountry = 'Belgii';}
  13. else if ($fromcountry == 'NL') {$fromcountry = 'Holandii';}
  14. else if ($fromcountry == 'DK') {$fromcountry = 'Danii';}
  15. else if ($fromcountry == 'CH') {$fromcountry = 'Szwajcarii';}
  16.  
  17. if ($tocountry == 'PL') {$tocountry = 'Polski';}
  18. else if ($tocountry == 'DE') {$tocountry = 'Niemiec';}
  19. else if ($tocountry == 'BE') {$tocountry = 'Belgii';}
  20. else if ($tocountry == 'NL') {$tocountry = 'Holandii';}
  21. else if ($tocountry == 'DK') {$tocountry = 'Danii';}
  22. else if ($tocountry == 'CH') {$tocountry = 'Szwajcarii';}
  23.  
  24. if ($day == 'MON') {$day = 'poniedziałek';}
  25. else if ($day == 'TUE') {$day = 'wtorek';}
  26. else if ($day == 'WED') {$day = 'środę';}
  27. else if ($day == 'THU') {$day = 'czwartek';}
  28. else if ($day == 'FRI') {$day = 'piątek';}
  29. else if ($day == 'SAT') {$day = 'sobotę';}
  30. else if ($day == 'SUN') {$day = 'niedzielę';}
  31. ?>


i niżej:

  1. <table style="width:940px;">
  2. <td align="center">
  3. <span style="color:#C0C0C0;font-size:22px;font-family:EtelkaLig;font-weight:normal;font-style:normal;text-decoration:none;">
  4. Przejazd z:
  5. </span>
  6. <span style="color:#FFFFFF;font-size:22px;font-family:EtelkaReg;font-weight:normal;font-style:normal;text-decoration:none;">
  7. <?
  8. echo $fromcountry;
  9. if ($fromcountry == "PL")
  10. {
  11. echo " ($fromcity / $fromland)";
  12. }
  13. ?>
  14. </span>
  15. <span style="color:#C0C0C0;font-size:22px;font-family:EtelkaLig;font-weight:normal;font-style:normal;text-decoration:none;">
  16. do:
  17. </span>
  18. <span style="color:#FFFFFF;font-size:22px;font-family:EtelkaReg;font-weight:normal;font-style:normal;text-decoration:none;">
  19. <?
  20. echo $tocountry;
  21. if ($tocountry == "PL")
  22. {
  23. echo " ($tocity / $toland)";
  24. }
  25. ?>
  26. </span>
  27. <span style="color:#C0C0C0;font-size:22px;font-family:EtelkaLig;font-weight:normal;font-style:normal;text-decoration:none;">
  28. <?
  29. if ($day == 'wtorek') {echo "we";}
  30. else {echo "w";}
  31. ?>
  32. </span>
  33. <span style="color:#FFFFFF;font-size:22px;font-family:EtelkaReg;font-weight:normal;font-style:normal;text-decoration:none;">
  34. <? echo " $day"; ?>
  35. </span>
  36. </td>
  37. </table>


problem polega na tym, że jeśli w powyższym warunku if $tocountry lub $fromcountry wystąpi PL - wtedy dodawać ma kolejny wyraz powiatu i wojewodztwa - w innym przypadku nie,
i teraz jak dam ...== "PL", wtedy nie pokazuje nic, jak dam ="PL" pokazują mi się ZAWSZE nawiasy - kiedy nie ma PL to puste...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post 21.10.2014, 10:06:28
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jak dam ="PL" pokazują mi się ZAWSZE nawiasy

Bo = to jest przypisanie a nie porownanie.... Powinienies takie rzeczy już znać.

Ciezko dac przed IFem:
var_dump($tocountry);
by sprawdzic co DOKLADNIE zawiera ta zmienna? Smiem twierdzic, ze jest to szybsze niz zakladanie tematu na forum


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 21.10.2014, 10:17:52
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


to może tak - i jeszcze szybciej będzie

http://www.eprzejazdy.pl/

bo to co widzę w pasku, czyli GET - wysyła dobrze wszystko, to co widzę w wynikach wyszukiwania w pasku kontrolnym - też jest ok, to co nie działa jako jedyne to własnie opcja przy PL
Go to the top of the page
+Quote Post
nospor
post 21.10.2014, 10:20:09
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A teraz skup sie jeszcze raz i sprobuj przeczytac to co ponizej ze zrozumieniem. Wiem, ze to jest trudne, nie kazde dziecko da rade, ale sprobuj:
Cytat
Ciezko dac przed IFem:
var_dump($tocountry);
by sprawdzic co DOKLADNIE zawiera ta zmienna?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post 21.10.2014, 10:23:00
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


@edit

ok już wiem co było nie tak - nie zauważyłem, że zmienna z PL zmieni wartość na "Polski"
Go to the top of the page
+Quote Post
nospor
post 21.10.2014, 10:25:46
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zauwazylbys, jakbys zrobil od razu var_dump jak prosilem. Tyle czasu na forum, bierzesz sie za pisanie jakis tam aplikacji, to tak banalne rzeczy jak proste debugowaie kodu powinienes już znac od 10 lat.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 8.07.2025 - 05:12