Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]podstony i dane z formularza
Forum PHP.pl > Forum > Przedszkole
daggi
Witam, mam problem z przesyłaniem danych z formularzy. Mianowicie: Chodzi o to, że wykonuje jeden skrypt który otwiera mi podstrony w sposób index.php?pokaz=podstrona i w jednej z podstron stworzyłem wyszukiwarkę:
  1. <?
  2. include("dane.php");
  3. if(isset($_GET['szukaj'])) $szukaj=trim($_GET['szukaj']); else $szukaj='';
  4. ?>
  5. <form action="index.php" method="get">
  6. <table width="50%" bodrer="0" cellpadding="0" cellspacing="0">
  7. <tr><td>Szukaj: <input type="text" name="szukaj" value="<? echo $szukaj; ?>" />
  8. <input type="submit" value="Szukaj" /></td></tr></table></form>
  9.  
  10. <?
  11. if($szukaj!='')
  12. {
  13. echo('<table width="50%" bodrer="0" cellpadding="0" cellspacing="0">');
  14. foreach ($ofer as $k=>$v)
  15. {
  16. $t=$v['hotel'];
  17. $a=$v['wyjazd'];
  18. if (strpos(' '.$t,$szukaj) || strpos(' '.$a,$szukaj) || strpos(' '.$k,$szukaj))
  19. {
  20. echo('<tr><td>'.$k.'</td><td>'.$t.'</td><td>'.$a.'</td></tr>');
  21. $i++;
  22. }
  23. }
  24. echo('</table>');
  25. if($i==0)
  26. echo('Nic nie znaleziono');
  27. else
  28. echo('znaleziono '.$i.' rekordów.');
  29. }
  30. ?>

formularz opiera się na pliku index.php tak samo jak system wyświetlający podstrony. Gdy chce cos wyszukać system zapamiętuje tylko zmienną z wyszukiwarki a kasuje zmienną pokaż. czyli link zamiast wyglądać index.php?pokaz=podstrona&szukaj=przykladowe szukanie wygląda tak: index.php?szukaj=przykladowe szukanie. Prosiłbym o wytłumaczenie i rozwiązanie problemu ponieważ napotkałem go nie przy robieniu weba a przy nauce PHP.
evolucja
W formularzu też musisz pokazać którą podstronę ma index.php załadować smile.gif
  1. <form action="index.php?pokaz=podstrona" method="get">
daggi
Cytat(evolucja @ 22.07.2010, 12:41:14 ) *
W formularzu też musisz pokazać którą podstronę ma index.php załadować smile.gif
  1. <form action="index.php?pokaz=podstrona" method="get">

próbowałem ale dalej zmienia tylko na index.php?szukaj=
piku235
Jak dobrze pamiętam gdy jest metoda get w formularzu i chcesz wysłać za jej pomocą dodatkowe wartości jak tutaj pokaz=podstrona to nie zadziała, ponieważ przy wysłaniu żądania przez przeglądarkę pole te jest czyszczone i zastępowane przez input'y. Żeby działało daj coś takiego:
  1. <input type="hidden" name="pokaz" value="podstrona" />
evolucja
Moim zdaniem istnieją dwa rozwiązania:
1. Dodać ukrytego inputa
  1. <input type="hidden" name="podstrona" value="page" />

2. Przejść z metody GET na POST
daggi
Dzieki wielkie:) wykorzystałem pierwszą metodę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.