Mr*Techie

PHP

Vous pouvez facilement créer votre propre moteur de recherche en PHP.

Il s’agit d’une zone de texte dans laquelle un utilisateur tape un terme et appuie sur le bouton soumettre, puis est redirigé par le moteur de recherche vers la page qu’il recherche. Par exemple, un utilisateur peut saisir la phrase  » youtube « , puis être redirigé vers la page d’accueil de youtube.

Ce type de moteur de recherche n’est pas google. Il ne recherche pas dans des dizaines de sites, puis envoie les résultats les plus pertinents en fonction de la requête. Ce n’est pas si avancé. Ce qu’il fait, c’est que, selon la requête de recherche que vous entrez, s’il existe une instruction if correspondante pour cette requête, elle redirigera une personne vers la page la plus pertinente selon cette requête. Ce n’est donc pas un moteur de recherche qui renvoie de nombreux résultats pertinents, mais un moteur de recherche qui redirige un utilisateur vers une page. C’est un moteur de recherche beaucoup plus simple, mais toujours très efficace à des fins de base et quelque chose que vous pouvez désirer pour votre site Web.

Construire ce type de moteur de recherche n’est en fait pas difficile du tout. C’est en fait un code très simple.

Pour ce faire, commençons par le code HTML. Nous créons une zone de texte, comme indiqué ci-dessous:

Les seuls termes que ce moteur de recherche contient à ce jour:
Dropbox
Amazon
google
ebay
wikipedia
youtube
hess toy truck
LM7805

Code HTML

Le code HTML pour créer cette zone de texte ci-dessus est:

Maintenant que nous avons créé une zone de texte et qu’un utilisateur peut saisir le terme qu’il recherche, nous devons maintenant rediriger l’utilisateur vers la page nécessaire en fonction de la requête de recherche qu’il a entrée. Par exemple, si l’utilisateur entre dans la requête de recherche, « wikipedia », nous devons ensuite le rediriger vers le site Web de wikipedia. Pour ce faire, nous utilisons PHP. PHP extraira le terme de recherche que l’utilisateur a entré et utilisera une série d’instructions if pour voir si ce terme correspond à un terme que nous avons sur notre site Web. Si c’est le cas, nous dirigeons ensuite l’utilisateur vers la page nécessaire sur ce terme de recherche en utilisant la fonction d’en-tête PHP. Cela sera expliqué ci-dessous. Si aucun terme de recherche ne correspond à celui que nous avons sur notre site Web, nous redirigeons l’utilisateur vers une page indiquant « Aucune recherche ne correspond ».

Exemple

Un exemple de ceci est un utilisateur recherchant le terme « camions jouets Hess ». Nous devons créer la page Hess toy trucks de sorte que lorsque l’utilisateur entre le terme, nous ayons la page vers laquelle les rediriger, et nous devons créer une instruction if sur la page PHP, searchpage.php pour vérifier quel terme est sélectionné.

C’est ce que la page PHP, searchpage.php, ressemblera à:

Fondamentalement, la page PHP, searchpage.php, récupère le terme de recherche que l’utilisateur entre en utilisant le tableau superglobal,__POST, puis le compare à une série d’instructions if. Si le terme de recherche entré par l’utilisateur correspond à un terme de recherche qui est la série d’instructions if, l’utilisateur est redirigé vers la page spécifiée par l’URL dans la fonction d’en-tête. Si aucun des termes de recherche ne correspond à l’instruction, aucune recherche correspondante ne sera affichée à l’écran.

une astuce que nous utilisons pour simplifier ce processus est que lorsque nous récupérons le terme de recherche entré par l’utilisateur, nous mettons la chaîne en minuscules à l’aide de la fonction strtolower(). C’est pourquoi, quelle que soit la chaîne saisie par l’utilisateur, elle devient minuscule. Par conséquent, lorsque nous comparons des chaînes, nous ne pouvons les comparer qu’avec la chaîne avec des caractères alphabétiques minuscules. Par exemple, différents utilisateurs tapent « Hess Truck », « HESS TRUCK », « Hess truck » et « HESS truck ». Si nous ne les convertissions pas en minuscules, nous devrions avoir des comparaisons avec chaque majuscule de chaque lettre de chaque mot. Ce serait fastidieux. En convertissant la chaîne en minuscules, tout ce que nous devons faire est de comparer la chaîne à son équivalent en minuscules. Par conséquent, tout ce que nous devons faire est de le comparer avec la ligne if (resultresult == « camion hess »).

Vous pouvez mettre autant de termes que vous le souhaitez dans la page de recherche.php et rediriger les utilisateurs vers la page souhaitée à l’aide de la fonction d’en-tête.

Ce moteur de recherche fonctionne très bien, mais il y a un problème. Il ne renvoie un résultat que si l’utilisateur entre la phrase exacte que vous recherchez. Par exemple, si un utilisateur essaie de trouver des informations sur le régulateur de tension LM7805 et de saisir « Régulateur de tension LM7805 » au lieu de simplement « LM7805 », la recherche ne sera pas redirigée vers la page sur les régulateurs de tension LM7805. En effet, selon le code, l’instruction if recherche l’égal exact de la phrase (==). Ainsi, cela doit être un match parfait. Même chose pour une autre requête de recherche. Si un utilisateur saisit « page d’accueil de Google » et non « google », la personne ne sera pas amenée sur le site Web de Google. En effet, encore une fois, l’instruction if recherche un égal direct (==). Donc, pour contrer, si la phrase contient le mot google, tel que « page d’accueil google » ou « moteur de recherche google », l’utilisateur sera toujours redirigé vers la page d’accueil Google, car sa recherche contient le mot « google ». La même chose si l’utilisateur tape « régulateur de tension LM7805 ». Comme la requête de recherche contient l’expression « LM7805 », le moteur de recherche le reconnaît et redirige la personne vers la page du régulateur de tension LM7805.

Alors, comment cela se fait-il? C’est simple. Au lieu que l’instruction php if soit directement égale (==), comme dans, if(resultresult == « google »), qui doit être directement égale, nous changeons l’instruction en, if(strpos(resultresult, « google ») == « true »)

Ce que cette instruction fait, c’est qu’elle recherche la phrase, ‘google’, dans la requête de recherche. Si la position de cette phrase est présente dans la chaîne, l’instruction if est vraie; si elle est vraie, nous pouvons les rediriger vers la page d’accueil de Google. En effet, tant que « google » est présent dans la requête de recherche, l’instruction if est vraie. Et puis en dessous, nous mettons la fonction de redirection d’emplacement d’en-tête.

Nous créons donc une nouvelle page de recherche nommée searchpage2.php et modifiez les instructions if, comme indiqué ci-dessus, nous obtiendrons ce fichier, qui est montré ci-dessous.

Maintenant, nous avons un moteur de recherche qui ne nécessite pas de correspondance directe entre caractères. Si l’utilisateur tape « page d’accueil youtube » ou « vidéos youtube », il sera toujours redirigé vers la page d’accueil youtube, car la requête de recherche contient le mot « youtube ».

Et vous pouvez continuer à affiner ce moteur de recherche. Par exemple, si un utilisateur tape « google maps » au lieu de simplement le rediriger vers la page d’accueil de google, vous pouvez créer une autre déclaration if si le résultat contient « google » et « maps » pour rediriger l’utilisateur vers google Maps au lieu de simplement la page d’accueil de google. Si vous faites cela lorsque vous utilisez la même phrase racine « google » mais pour différentes catégories dans google, il est préférable d’utiliser des instructions if else au lieu de simplement des instructions if. Mais ce n’est pas absolument nécessaire si vous utilisez des déclarations et. Cette instruction if ressemblerait à ceci, if((strpos(resultresult, « google ») == « true ») & &(strpos(resultresult, « maps ») == « true »))

Alors en dessous, vous mettrez la fonction de redirection de l’emplacement de l’en-tête vers, header(‘Location: https://maps.google.com/’);

Et c’est ainsi que vous pouvez construire un moteur de recherche qui peut devenir de plus en plus avancé, ou de plus en plus intelligent. Vous continuez à faire plus de divisions et de déclarations if. Donc, si un type d’utilisateur est « google » et « finance » dans la même recherche, vous pouvez les amener sur la page Google finance. Si un utilisateur saisit  » google » et « images » dans la même recherche, vous pouvez les amener sur la page  » google images ». Et ainsi de suite et ainsi de suite.

Quelques points à faire à ce sujet en créant la page de recherche.page php. Lorsque vous le faites, assurez-vous qu’il n’y a absolument pas d’espace avant le <?balise php. Mettre de l’espace entre la balise PHP peut envoyer une sortie au navigateur et le code ne fonctionnera pas. Avant que PHP puisse exécuter cette fonction de redirection, aucune sortie ne peut être écrite dans le navigateur. Non, rien du tout ne peut aller avant le <?balise php, même pas d’espace blanc. Sinon, vous obtiendrez une erreur qui indique quelque chose à l’effet de, Avertissement: Impossible de modifier les informations d’en-tête – en-têtes déjà envoyés par (sortie démarrée à /home/content/…/ page de recherche.php: 1).Cela signifie qu’avant que PHP n’effectue la redirection, la sortie était déjà écrite dans le navigateur. Avec la redirection d’emplacement d’en-tête PHP, cela est interdit. Aussi, pour la même raison, lorsque vous enregistrez la page de recherche.fichier php, enregistrez-le en encodage ANSI. Ne l’enregistrez pas dans le codage unicode, unicode big endian ou UTF-8. Ces encodages peuvent chiffrer et ajouter des caractères avant le code PHP, même s’il n’y a pas d’espace blanc. ANSI est l’encodage le plus pur qui n’ajoute aucun caractère avant le <?balise php et cela produira les meilleurs résultats. Pour voir un article plus approfondi sur cette erreur de fonction d’en-tête PHP, voir Erreur d’emplacement d’en-tête PHP – Avertissement: Impossible De Modifier Les Informations D’En-Tête – En-têtes Déjà Envoyés.

Voici comment vous créez un moteur de recherche en PHP.

Ressources Connexes

Comment Créer Votre Propre Moteur De Recherche Pour Votre Site Web En Utilisant PHP
Comment Créer un Moteur De Recherche Personnalisé Pour Votre Site Web En Utilisant PHP
Comment Créer un Moteur De Recherche D’Images Pour Votre Site Web En Utilisant PHP
Comment Créer un Moteur De Recherche De vidéos Pour Votre Site Web En Utilisant PHP
Comment Créer un Moteur De Recherche De Fichiers Audio Pour Votre Site Web En Utilisant PHP
Comment Télécharger des Images Sur un Site Web En Utilisant PHP
Comment Télécharger des Fichiers sur un Site Web En Utilisant PHP
Comment Créer Votre Propre Protocole de Transfert de Fichiers (FTP) Pour Votre Site Web En Utilisant PHP
Comment Créer une Confirmation Page pour un Formulaire Web HTML En Utilisant PHP
Comment Insérer des Images dans une Base de Données MySQL En Utilisant PHP
Comment Créer une Base de Données Consultable En Utilisant MySQL et PHP
Comment Rechercher un Mot ou une Phrase Dans une Table MySQL En Utilisant PHP
Comment Créer une Page d’Enregistrement et de Connexion En Utilisant PHP

Leave a Reply

Votre adresse e-mail ne sera pas publiée.