Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem ze skryptem
Forum PHP.pl > Forum > Przedszkole
corvin
Mam problem z prawidłowym działaniem wyszukiwania w tekstowej bazie danych, fragment problematyczny wyglšda tak:

echo '<form action="id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php" metod="get">';

efekt w pasku adresowym jest taki:
//127.0.0.1/rzr/id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php?numer=atlas&submit=wyszukaj

natomiast efekt jaki powinien wystšpić ma być taki:
//127.0.0.1/rzr/?id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php&numer=atlas&submit=wyszukaj

Rożnica: - brak pytajnika po ...rzr/........
oraz ? zamias & po ...news.php....

Pytanie jak powinien wyglšdać zapis w instrukcji form action?
Proszę o pomoc: Corvin


ps
  1. <?php
  2. $a=$_GET["numer"];
  3.  
  4. echo "Wyszukiwany wyraz: ";
  5. echo "$a";
  6.  
  7. echo '<form action="id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php" metod="get">';
  8. echo "<input name='numer' type='text' size='14'><br>";
  9. echo "<input type='submit' name='submit' value='wyszukaj'>";
  10. echo "</form>";
  11.  
  12.  $droga = file("narzedzia/paczki/paczki.txt");
  13. echo "<table border='1' cellspacing='0' cellpadding='0'>";
  14.  
  15. foreach ($droga as $wiersz) {
  16.  $l = explode("|", $wiersz);
  17.  $xxx = stristr($l[1],$a);
  18.  
  19. if ($xxx==true) {
  20.  
  21. echo "<tr><td>$l[1]</td><td>$l[4]</td><td>$l[3]</td><td>$l[2]</td></tr>";}
  22.  
  23.  
  24. }
  25.  
  26.  
  27. echo "</table>";
  28. ?>



-------------------------
pisząc następny wątek zapoznaj się z
Tematyką i zasadami panującymi na forum Przedszkole
i stosuj się do zaleceń
tym razem ja poprawiam
~Cienki1980
przemek76
Może spróbuj po prostu dodać znak zapytania przed: id=2....

echo '<form action="?id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php" method="get">';

a przy okazji: powinno być: method="get" (nie: metod="get")
corvin
Dodanie ? nie skutkuje - nie wyświetla wyniku ( atlas to wyraz wyszukiwany )
efekt w pasku jest taki:

http://127.0.0.1/rzr/?numer=atlas&submit=wyszukaj



drPayton
Sprawdź:
  1. <?php
  2. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="get">';
  3.  
  4. echo '<input type="hidden" name="id" value="2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php" />';
  5.  
  6. echo "<input name='numer' type='text' size='14'><br>";
  7. echo "<input type='submit' name='submit' value='wyszukaj'>";
  8. echo "</form>";
  9. ?>
corvin
Niestety to nie to, efekt w pasku adresu jest taki:

//127.0.0.1/rzr/index.php?id=2%26idSub%3D8%26filetxt%3Dpaczki.mnu%26tekst%3Dpaczki%2Fnews.php&numer=brow&submit=wyszukaj
i otwiera się inna podstrona a nie wynik wyszukiwania na stronie gdzie jest okno formularza

a efekt w pasku adresu powinien być:

//127.0.0.1/rzr/?id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php&numer=atlas&submit=wyszuka
Istalacar
Witam
Zamiast chodzić na około:
CODE

echo '<form action="' . $_SERVER['PHP_SELF'] . '" metod="get">';
echo '<input type="hidden" name="id" value="2">';
echo '<input type="hidden" name="idSub" value="8">';
echo '<input type="hidden" name="filetxt" value="paczki.mnu">';
echo '<input type="hidden" name="tekst" value="paczki/news.php">';
echo '<input name='numer' type='text' size='14'><br>';
echo '<input type='submit' name='submit' value='wyszukaj'>';
echo '</form>'
;


Po prostu przeglądarka uważa, że to co podałeś w action ("id=2&idSub=8&filetxt=paczki.mnu&tekst=paczki/news.php") to link to strony (tym bardziej, że kończy się ".php"), a że zapytanie ma być GET to dokleja na końcy znak zapytania i wartości których potrzebuje.

Ewentualnie można też zmienić formularz po prostu na POST i wtedy przejdzie bez żadnych problemów.

Pozdrawiam
Istalacar
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.