Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z odczytem $_GET ?, lub ze zmienną
shpaque
post
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
nospor
post
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
Go to the top of the page
+Quote Post
shpaque
post
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
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?
Go to the top of the page
+Quote Post
shpaque
post
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
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.
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: 15.09.2025 - 03:01