Mr * Techie
możesz łatwo stworzyć własną wyszukiwarkę w PHP.
jest to pole tekstowe, w którym użytkownik wpisuje termin i naciska przycisk submit, a następnie jest przekierowywany przez wyszukiwarkę na stronę, której szuka. Na przykład użytkownik może wpisać frazę „youtube”, a następnie zostać przekierowany na stronę główną youtube.
tego typu wyszukiwarka to nie google. Nie przeszukuje dziesiątek witryn, a następnie wysyła Najbardziej odpowiednie wyniki na podstawie zapytania. Nie jest aż tak zaawansowany. To, co robi, to zgodnie z zapytaniem, które wprowadzasz, jeśli dla tego zapytania istnieje pasujące polecenie if, przekieruje osobę na stronę najbardziej odpowiednią zgodnie z tym zapytaniem. Nie jest to więc wyszukiwarka, która zwraca wiele istotnych wyników, ale wyszukiwarka, która przekierowuje użytkownika na stronę. Jest to znacznie prostsza wyszukiwarka, ale nadal bardzo skuteczna w podstawowych celach i coś, czego możesz pragnąć dla swojej witryny.
budowanie tego typu Wyszukiwarki wcale nie jest trudne. To bardzo prosty kod.
aby to zrobić, zacznijmy od HTML. Tworzymy pole tekstowe, jak pokazano poniżej:
jedyne terminy, które zawiera ta wyszukiwarka:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess toy truck
LM7805
kod HTML
kod HTML do utworzenia tego pola tekstowego powyżej to:
teraz, gdy utworzyliśmy pole tekstowe i użytkownik jest w stanie wpisać szukany termin, musimy przekierować użytkownika na niezbędną stronę na podstawie wpisanego zapytania. Na przykład, jeśli użytkownik wprowadzi zapytanie „wikipedia”, musimy przekierować go na stronę Wikipedii. Aby to zrobić, używamy PHP. PHP wyodrębni wyszukiwany termin wprowadzony przez użytkownika i użyje serii instrukcji if, aby sprawdzić, czy ten termin pasuje do terminu, który mamy na naszej stronie internetowej. Jeśli tak, kierujemy użytkownika do odpowiedniej strony w wyszukiwanym frazie za pomocą funkcji nagłówka PHP. Zostanie to wyjaśnione poniżej. Jeśli żaden wyszukiwany termin nie pasuje do żadnego, który mamy na naszej stronie internetowej, przekierowujemy użytkownika na stronę, która stwierdza „brak dopasowanych wyszukiwań”.
przykład
przykładem tego jest użytkownik szukający terminu „Hess toy trucks”. Musimy utworzyć stronę Hess Toy trucks tak, że gdy użytkownik wejdzie w termin, mamy stronę do przekierowania, a my musimy utworzyć instrukcję if na stronie PHP, searchpage.php, aby sprawdzić, który termin jest wybrany.
to jest to, co strona PHP, searchpage.php, będzie wyglądać jak:
zasadniczo strona PHP, searchpage.php, pobiera wyszukiwany termin, który użytkownik wpisuje za pomocą tablicy superglobalnej, $_POST, a następnie porównuje go z serią instrukcji if. Jeśli wyszukiwane hasło, które wpisał użytkownik, pasuje do szukanego hasła, które jest serią instrukcji if, użytkownik jest przekierowywany do tej strony, którą adres URL określa w funkcji nagłówka. Jeśli żadne z wyszukiwanych haseł nie jest zgodne, polecenie brak dopasowanych wyszukiwań zostanie wyświetlone na ekranie.
jedną z sztuczek, których używamy do uproszczenia tego procesu, jest to, że gdy pobieramy wyszukiwany termin wprowadzony przez użytkownika, piszemy go małymi literami za pomocą funkcji strtolower (). Dlatego bez względu na to, jaki ciąg wprowadzi użytkownik, staje się on pisany małymi literami. Dlatego, gdy porównujemy ciągi, możemy po prostu porównać go tylko z łańcuchem z małymi literami alfabetycznymi. Przykładem są różni użytkownicy wpisujący „Hess Truck”, „Hess TRUCK”, „Hess truck”i” Hess truck”. Gdybyśmy nie zamienili ich na małe litery, musielibyśmy porównywać każdą wielką literę w każdym słowie. To byłoby nużące. Konwertując ciąg znaków na wszystkie małe litery, wszystko, co musimy zrobić, to porównać ciąg z jego odpowiednikiem wszystkich małych liter. Dlatego wszystko, co musimy zrobić, to porównać go z linią if ($result==”hess truck”).
możesz umieścić dowolną liczbę terminów w wyszukiwarce.php i przekierowanie użytkowników do żądanej strony za pomocą funkcji nagłówka.
ta wyszukiwarka działa świetnie, ale jest jeden problem. Zwraca wynik tylko wtedy, gdy użytkownik wprowadzi dokładnie szukaną frazę. Na przykład, jeśli użytkownik próbuje znaleźć informacje o regulatorze napięcia LM7805 i wpisuje „regulator napięcia LM7805” zamiast tylko „LM7805”, wyszukiwanie nie przekieruje do strony o regulatorach napięcia LM7805. Dzieje się tak dlatego, że zgodnie z kodem Instrukcja if szuka dokładnego równego wyrażenia (==). Tak więc, musi to być idealne dopasowanie. To samo dotyczy innego zapytania. Jeśli użytkownik wpisze „stronę główną google”, a nie „google”, osoba ta nie zostanie wprowadzona do witryny google. Dzieje się tak dlatego, że znowu Instrukcja if szuka bezpośredniej równości (==). Aby temu przeciwdziałać, jeśli fraza zawiera słowo google, takie jak „Strona główna google” lub „Wyszukiwarka google”, użytkownik nadal zostanie przekierowany na stronę główną google, ponieważ jego wyszukiwanie zawiera słowo „google”. To samo, jeśli użytkownik wpisuje „regulator napięcia LM7805”. Ponieważ zapytanie zawiera frazę „LM7805”, wyszukiwarka rozpoznaje to i przekierowuje osobę na stronę regulatora napięcia LM7805.
więc jak to się robi? To proste. Zamiast wyrażenia PHP if, które jest równe bezpośrednio ( = = ), jak w,if ($result==”google”), które musi być równe bezpośrednio, zmieniamy polecenie na, if (strpos($result,” google”) = = „true”)
to, co to polecenie robi, to szuka frazy, 'google’, w zapytaniu wyszukiwania. Jeśli pozycja tej frazy jest obecna w łańcuchu znaków, polecenie if jest prawdziwe; jeśli jest prawdziwe, możemy przekierować je do strony głównej google. Dzieje się tak, ponieważ tak długo, jak „google” jest obecny w zapytaniu, Instrukcja if Jest Prawdziwa. A następnie pod spodem umieszczamy funkcję przekierowania położenia nagłówka.
tworzymy więc nową stronę o nazwie searchpage2.php i zmień instrukcje if, jak pokazano powyżej, otrzymamy ten plik, który jest pokazany poniżej.
teraz mamy wyszukiwarkę, która nie wymaga bezpośredniego dopasowania znaków do postaci. Jeśli użytkownik wpisze „stronę główną youtube” lub „filmy z youtube”, nadal zostanie przekierowany na stronę główną youtube, ponieważ zapytanie zawiera słowo „youtube”.
i możesz dalej udoskonalać tę wyszukiwarkę. Na przykład, jeśli użytkownik wpisze „Google maps” zamiast przekierowywać go do strony głównej google, możesz utworzyć inną deklarację if, że jeśli wynik Zawiera „google” i „mapy”, aby przekierować użytkownika do google maps zamiast po prostu strony głównej google. Jeśli robisz to, gdy używasz tej samej frazy głównej „google”, ale dla różnych kategorii w google, najlepiej jest użyć instrukcji if else zamiast tylko instrukcji if. Ale nie jest to absolutnie konieczne, jeśli używasz instrukcji and. To polecenie if wyglądałoby tak, if ((strpos ($result, „google”) = = „true”) & &(strpos ($result, „maps”) == „true”))
to pod spodem umieścisz funkcję przekierowania lokalizacji nagłówka do, header (’Location: https://maps.google.com/’);
i tak można zbudować wyszukiwarkę, która może stać się coraz bardziej zaawansowana, lub coraz bardziej inteligentna. Ciągle robisz więcej podziałów i oświadczeń. Więc jeśli użytkownik wpisuje się w „google” i „finanse” w ramach tego samego wyszukiwania, możesz je przenieść na stronę google finance. Jeśli użytkownik wpisze w tym samym wyszukiwaniu „google” i „obrazy”, możesz przenieść je na stronę „obrazy google”. I tak dalej i tak dalej.
kilka uwag na temat tworzenia strony wyszukiwania.strona php. Kiedy to zrobisz, upewnij się, że nie ma absolutnie żadnego miejsca przed <?tag php. Umieszczenie spacji między znacznikiem PHP może wysłać wyjście do przeglądarki, a kod nie będzie działać. Zanim PHP uruchomi tę funkcję przekierowania, żadne wyjście nie może zostać zapisane w przeglądarce. Nic w ogóle nie może iść przed <?znacznik php, nawet nie Biała spacja. W przeciwnym razie pojawi się błąd, który mówi coś na skutek, Warning: Cannot modify header information – headers already sent by (output started at /home/content/…/ searchpage.php: 1).Oznacza to, że zanim PHP wykonało przekierowanie, wyjście zostało już zapisane w przeglądarce. W przypadku przekierowania położenia nagłówka PHP jest to zabronione. Również, z tego samego powodu, podczas zapisywania strony wyszukiwania.plik php, zapisz go w kodowaniu ANSI. Nie zapisuj go w kodowaniu unicode, Unicode big endian lub UTF-8. Takie kodowanie może szyfrować i dodawać znaki przed kodem PHP, gdy nie ma tam białej spacji. ANSI jest najczystszym kodowaniem, które nie dodaje żadnych znaków przed <?tag php i to przyniesie najlepsze rezultaty. Aby zobaczyć bardziej szczegółowy artykuł na temat tego błędu funkcji nagłówka PHP, zobacz ostrzeżenie o błędzie lokalizacji nagłówka PHP: Nie Można Modyfikować Informacji Nagłówka – Nagłówki Już Wysłane.
tak tworzy się wyszukiwarkę w PHP.
powiązane zasoby
Jak stworzyć własną wyszukiwarkę witryny za pomocą PHP
Jak stworzyć własną wyszukiwarkę witryny za pomocą PHP
Jak stworzyć wyszukiwarkę obrazów dla witryny za pomocą PHP
Jak stworzyć wyszukiwarkę wideo dla witryny za pomocą PHP
Jak stworzyć wyszukiwarkę plików Audio dla witryny za pomocą PHP
Jak przesłać obrazy do witryny za pomocą PHP
jak przesłać pliki na stronę internetową za pomocą PHP
Jak stworzyć własny protokół przesyłania plików (FTP) dla witryny za pomocą PHP
Jak utworzyć potwierdzenie Strona dla formularza HTML przy użyciu PHP
Jak wstawić obrazy do bazy danych MySQL przy użyciu PHP
Jak utworzyć Wyszukiwalną bazę danych przy użyciu MySQL i PHP
jak wyszukać tabelę MySQL w poszukiwaniu dowolnego słowa lub frazy przy użyciu PHP
Jak utworzyć stronę rejestracji i logowania przy użyciu PHP