Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.03.2011 Ostrzeżenie: (0%)
|
Witam, zrobiłam wyszukiwarkę na bazie typu INNOdb a więc bez full-textu.. W momencie gdy kliknę w przycisk "szukaj" są opcje:
1. wprowadzono słowo, jest w bazie --> wyświetla je 2. wprowadzono słowo, nie ma w bazie --> komunikat 3. nic nie wprowadozno --> komunikat No i w tym momencie 1wsze opcje działają a 3cia sie sypie tzn. zamisat komunikatu "w celu korzystania z wyszukiwarki treba coś wpisać" pojawia sie pusta strona ... wszytsko działa dobrze dopóki nie jest podpięte do diva ... w pliku index. php mam formularz
w pliku szukaj php
Są jakieś pomysły na rozwiązanie ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 2.03.2011 Ostrzeżenie: (0%)
|
Cytat (..) I na koniec... 1) Radziłbym użyć metody POST zamiast GET. 2) Skrypt masz zupełnie niezabezpieczony przed sql injection, użyj przynajmniej mysql_real_escape_string albo addslashes. odnośnie linijki 9.. wlasnie dlatego zamiescilam w komentarzu // szukaj!='' o jak wkleilam to powstawialo te spacje.. dodam ze w formularzu mam '' 1. POST użyłam wcześniej .. zamieszczony fragment był z kopi-kopii-kopiowanej pliku (IMG:style_emoticons/default/smile.gif) ..dlatego nie zauważyłam że zamieściłam z GET... 2. właśnie z tym mam problem, jak mam formularz rejestracja, kontakt , logowania to też użyć tego? i jak potem wyciągam dane z bazy to trzeba jakoś to odszyfrowywac ?.. zamieszczam poniżej wyszukiwarkę sprawną CODE <body> <h2>Wyniki wyszukiwania</h2> <?php // program wyszukiwarki - SZUKAJ.php if (($_POST['wyszukaj'])) { $szukaj =$_POST['wyszukaj']; if ($szukaj!= '') { // sprawdzenie, czy użytkownik cokolwiek wpisał $szukaj=trim($szukaj); // usunięcie niepotrzebnych spacji $wyniki=mysql_real_escape_string($wyniki); $wyniki=explode(" ",$szukaj); $warunki=" (nazwa_uslugi LIKE '%$wyniki[0]%' )"; for ($i=1;$i<count($wyniki);$i++) { $warunki.=" and (nazwa_uslugi LIKE '%$wyniki[$i]%' )"; } // połączenie z bazą danych include("config.php"); /* Like - pozwala wyszukać dany ciąg w bazie danych % - symbolizuje dowolny inny ciąg znaków or pozwoli wyszukiwać usługę w nazwie i opisie usługi */ $pytanie_p = mysql_query("Select * From uslugi Where $warunki") or die('Invalid query: ' . mysql_error()); // zapytanie do bazy $liczba_rekordow = mysql_num_rows($pytanie_p); if ($liczba_rekordow==0) { echo "<br><p>Brak wyników dla wyszukianej frazy <strong>".$szukaj." </strong> </p>"; } else { echo " <br><p>Wyszukiwanie znalazło ".$liczba_rekordow." pasujących wyników do szukanego wyrażenia <strong>".$szukaj." </strong> </p><br>"; echo "<table cellpadding=\"2\">"; print ('<tr>'); print ('<th>Nazwa usługi</th>'); print ('<th>Opis usługi</th>'); print('<th> Cena w zakładzie</th>'); print ('</tr>'); while($rekord_p = mysql_fetch_array($pytanie_p)) { echo "<tr>"; echo "<td>".$rekord_p['nazwa_uslugi']."</td>"; echo "<td>".$rekord_p['opis_uslugi']."</td>"; echo "<td>".$rekord_p['cena_w_zakladzie']."</td>"; print ('</tr>'); } //koniec while print ('</table>'); } //koniec else wyszukiwanych fraz }} else { echo "<br><p>Należy coś wpisać by skorzystać z wyszukiwarki! </p>"; } ?> |
|
|
|
anka_skakanka [MySQL][PHP]wyszukiwarka, w momencie gdy pusty forularz ładuje sie pusta strona a nie komunikat 17.03.2011, 23:20:28
sadistic_son Linijke 10 z formularza zamień na to:[PHP] pobierz... 18.03.2011, 00:53:53
sadistic_son Umieść ten powyższy kod w znacznikach forumowych p... 18.03.2011, 15:26:58
anka_skakanka Cytat(sadistic_son @ 18.03.2011, 15:26... 18.03.2011, 15:50:55
sadistic_son Z formularza przyjmujesz $_POST['wyszukaj... 18.03.2011, 16:30:23
anka_skakanka Cytat(sadistic_son @ 18.03.2011, 16:30... 18.03.2011, 18:11:19
sadistic_son Co ma robić ta wyszukiwarka jeśli wpiszę np. ala k... 18.03.2011, 18:57:39
anka_skakanka Cytat(sadistic_son @ 18.03.2011, 18:57... 18.03.2011, 19:19:06
sadistic_son Tak, hasła do bazy wysyła się zahashowane algorytm... 18.03.2011, 19:26:55 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 07:40 |