Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Problem ze skryptem, wyszukiwanie w tekstowej bazie danych
corvin
post 27.08.2007, 22:11:10
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


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


Ten post edytował Cienki1980 28.08.2007, 07:52:00
Go to the top of the page
+Quote Post
przemek76
post 27.08.2007, 23:17:37
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


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")
Go to the top of the page
+Quote Post
corvin
post 28.08.2007, 06:33:27
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


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





Ten post edytował corvin 28.08.2007, 06:43:44
Go to the top of the page
+Quote Post
drPayton
post 28.08.2007, 10:21:02
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował drPayton 28.08.2007, 10:21:29
Go to the top of the page
+Quote Post
corvin
post 28.08.2007, 19:32:46
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował corvin 28.08.2007, 19:37:19
Go to the top of the page
+Quote Post
Istalacar
post 28.08.2007, 20:14:38
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


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
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: 15.06.2025 - 16:09