Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] stronicowanie z $POST
Forum PHP.pl > Forum > Przedszkole
!*!
z powodu błędu opisuję problem poniżej
JoShiMa
A skąd ma się brać $_POST['wgo'] ?
!*!
w pliku index.php mam formularz:

  1. <form action='?cos=wgo' method="post">
  2. <input type="text" class="fszukaj" name="w2" value="<?php echo ''.$_POST['w2'].''; ?>" />
  3. </form>


odnosi się on do pliku który jest includowany w index.php, który odczytuje co jest w formularzu:

  1. <?php
  2. $wynik = 'stefan';
  3.  
  4. if ($error==0) { 
  5. $iloscrekordow = 10; 
  6. $zapytanie = mysql_query("SELECT COUNT(login) FROM userdata WHERE MATCH(login) against ('$wynik*' IN BOOLEAN MODE)");
  7. $red = mysql_result($zapytanie, 0);
  8. $zamianaliczb = number_format($red, 0, ' ', ' ');
  9.  
  10. if ($red > $iloscrekordow) {$num_pages = ceil ($red/$iloscrekordow);} else {$num_pages = 1;}
  11.  
  12. if (isset($_GET['first'])) {
  13. if ( (is_numeric($_GET['first'])) AND ($_GET['first'] > 0) ) {$s = $_GET['first'];} else {$s = 1;} } else {$s = 1;} 
  14.  
  15. $zap= "SELECT login FROM userdata WHERE MATCH(login) against ('$wynik*' IN BOOLEAN MODE) LIMIT ".(($s-1)*$iloscrekordow).", $iloscrekordow";
  16. $quer = mysql_query($zap);
  17. }
  18. ?>


odczytywanie i stronicowanie wygląda w tym pliku tak:

  1. <?php
  2. if ($s >= 3) { echo '<a href="?omega=wgo&amp;first=1">&lt;&lt; </a>'; }  
  3. if ($s >= 2) {echo '<a href="?omega=wgo&amp;first='.($s-1).'">&lt; </a>'; }
  4.  
  5. for ($i = 2; $i >= 1; $i--) {  if (($s-$i) > 0) {  
  6.  
  7. echo ' <a href="?omega=wgo&amp;first=' . ($s-$i) . '">' . ($s-$i) . ' </a>'; } }
  8.  
  9. echo ' <b>|' . $s . '|</b> '; 
  10.  
  11. for ($i = 1; $i <= 2; $i++) { if ( (($s+$i) <= $num_pages) AND (($s+$i) != 1) ) { 
  12.  
  13. echo '<a href="?omega=wgo&amp;first=' . ($s+$i) . '">' . ($s+$i) . ' </a>';  }}
  14.  
  15. if ($s <= ($num_pages-1) ) {  
  16.  
  17. echo '<a href="?omega=wgo&amp;first='.($s+1).'">&gt; </a>'; } if ($s <= ($num_pages-2) ) { 
  18. echo ' <a href="?omega=wgo&amp;first='.$num_pages.'">&gt;&gt; </a>';}
  19.  
  20. while ($wiersz = mysql_fetch_array($quer)) 
  21. {
  22.  
  23. echo '<div class="wnick"><b>'.$wiersz['login'].'</b></div>';
  24.  
  25. }
  26. ?>


I jest ok, wszystko jest dobrze stronicowane, ale tylko gdy zmienna $wynik = 'stefan'; ma okresloną wartość...

Gdy zamienię na

  1. <?php
  2. $wynik = $_GET['w2'];
  3. ?>


nie działa stronicowanie

  1. <?php
  2. $wynik = $_POST['w2'];
  3. ?>


w ogóle nie działa wyszukiwanie.
nospor
jesli klikasz na kolejna strone, to dane co wpisales do formularza gubisz.
Musisz dane z forma zapamietywac:
http://nospor.pl/formularz-i-stronicowanie...-stanu-n26.html
!*!
ok, zdecydowałem się na GET, tylko teraz myk polega na tym iż nie wiem do czego mam odwołać ścierzkę w formularzu...

Normalnie powinno być tak:

Kod
<form action='?omega=wgo' method="GET">


gdy jest to plik includowany w index.php tylko że w ogóle nie zaskakuje, wpisanie całego adresu do pliku też nie. Można przesyłać dane GETem do pliku includowanego? Gdy wpiszę w pasku adresu:

Kod
localhost/index.php?omega=wgo&w2=stefan&first=1


wyszukiwanie i stronicowanie dziala bez problemu, ale jak przesłać to formularzem ?
nospor
jesli przesylasz forma getem, to get w action jest kasowane. Musisz omega=wgo dac w polu ukrytym w formie:
<input type="hidden" name="omega" value="wgo" />
Maxik
include działa tak jak wklejenie całej zawartości pliku do innego.
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.