Le code vérifie bien l'existence du mot, dans le tableau crée dans le fichier "recherche.php" et s'il existe, redirige vers la page où se trouvent la définition de tous les mots commençant par cette lettre mais, et c'est là le problème, il redirige toujours vers le lien du premier mot de la liste, (du tableau), quel que soit le mot saisi.
Par exemple, pour les mots commençant par "a", je voudrais qu'il redirige vers le lien correspondant au mot saisi, c'est-à-dire, au lieu d'ouvrir le lien (***.php#4), qu'il ouvre dans le bon (***.php#xx).
Je n'arrive pas à trouver la solution. Il manque ou il y a une erreur quelque part dans le code. Merci d'avance pour votre aide.
Ci-joint le code du formulaire et du fichier de contrôle.
Code : Tout sélectionner
<!-- Le code du formulaire est dans la page de saisie-->
<form action="" method="post" name="Rechercher" id="Rechercher">
<?php if($erreur){ ?>
<fieldset style="margin-top: 15px; margin-bottom: 10px;">
<ul><? echo $erreur ?></ul>
</fieldset>
<?php } ?>
<fieldset style="text-align: left; margin-top: 20px; margin-bottom: 0px;">
<label for="Recherche" style="font color: #0000FF; margin-top: 0px; margin-bottom: 12px; padding-top: 0px;">Rechercher:</label><br/>
<input type='text' onKeyUp="this.value=this.value.toLowerCase()" name='Recherche' id='Recherche' autofocus="autofocus" placeholder='✍ Tapez le mot à rechercher…' style='width: 240px; height:25px; <?if($msgerreur==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn."; border: ".$color_border_warn);}?>' value=''>
<input name="Submit" type="submit" style="float: none; line-height: 0px; width: 50px; height: 24px; font-size: 0.8rem; text-align: center; margin-left: 10px; padding: 0px 3px 0px 2px;" value=" Valider ">
</fieldset>
<?php unset($Recherche);?>
</form>
<!-- Ce code est dans le fichier de contrôle recherche.php -->
<?php
//\\ Démarrage de la session //\\
session_start();
//\\ Couleur du texte des champs si erreur saisie utilisateur //\\
$color_font_warn="#FF0000";
//\\ Couleur de fond des champs si erreur saisie utilisateur //\\
$color_form_warn="#FDF4F4";
//\\ Couleur de contour des champs si erreur saisie utilisateur //\\
$color_border_warn="1px solid #FF0000";
//\\ Pages web du site à rediriger //\\
$site_a6="https://www.xxxxxxxxxxx/dicoinformatique_a.php#6";
$site_a8="https://www.xxxxxxxxxxx/dicoinformatique_a.php#8";
$site_a10="https://www.xxxxxxxxxxx/dicoinformatique_a.php#10";
$site_a12="https://www.xxxxxxxxxxx/dicoinformatique_a.php#12";
$site_b20="https://www.xxxxxxxxxxx/dicoinformatique_b.php#20";
$site_b22="https://www.xxxxxxxxxxx/dicoinformatique_b.php#22";
//\\ Protéger le formulaire //\\
$Recherche = trim(stripslashes(htmlspecialchars(htmlentities($_POST['Recherche']))));
//\\ Vérifier si le bouton submit a été validé //\\
if(isset($_POST['Submit'])){
//\\ Définir le mot et la valeur associée dans le tableau //\\
$mots_a = array('afficher' => $site_a6,
'aligner' => $site_a8,
'annuler' => $site_a10,
'antivirus' => $site_a12);
$mots_b = array('backup' => $site_b20,
'barre de défilement' => $site_b22);
$erreur="";
//\\ Vérifier saisie du mot //\\
$Recherche = isset($_POST['Recherche']) ? $_POST['Recherche'] : '';
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
//\\ Vérifier l'existence du mot (mots commençant par a) dans le tableau //\\
if (isset($mots_a[$Recherche]) == $mots_a){
foreach($mots_a as $cle => $valeur){
//\\ Succès: les variables son correctes et on va rediriger vers la page web //\\
$_SESSION['Recherche']=$cle[$Recherche];
header("location: ".$valeur);
unset($_POST['Recherche']);
exit;
}
}
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
//\\ Vérifier l'existence du mot (mots commençant par b) dans le tableau //\\
if (isset($mots_b[$Recherche]) == $mots_b){
foreach($mots_b as $cle2 => $valeur2){
//\\ Succès: les variables son correctes et on va rediriger vers la page web //\\
$_SESSION['Recherche']=$cle2[$Recherche];
header("location: ".$valeur2);
unset($_POST['Recherche']);
exit;
}
} else {
//\\ Tentative infructueuse: définir un message d'erreur //\\
$erreur.="<li style='margin-left: 4px; text-align: left; color: #FF0000;'><span style=' font-size: 0.9rem; color: #FF0000;' class='texterror'>•  Mot inexistant dans ce petit dictionnaire…!</span></li>";
$msgerreur=1;
}
}
?>