Aucun script moteur de recherche PHP ne marche !!

Aucun script moteur de recherche PHP ne marche !! - PHP - Programmation

Marsh Posté le 24-12-2011 à 13:57:05    

Bonjour !  
 
 
J'ai essayé deux scripts de moteur de recherche php liée à une table de ma base de donnée  
 
Mais avec ces deux scripts quand j'entre un mot clé (présent dans la table) rien ne se passe,  
 
J'ai toujours le "Veuillez saisir un ou plusieurs mot-clés avant de cliquer sur 'OK' !" ou autre message pour l'autre script comme si je n'avais entré aucun mot clé !  
 
Cela fait 1 semaine que je cherche à localiser le problème mais RIEN !  
Est-ce un problème de liaison avec la base, d'OVH etc ?  
 
Merci d'avance !!  
 
Configuration :
Mac Mini  
avec OSX Lion, Mamp, Fraise, Filezilla  
 
Chez OVH

Reply

Marsh Posté le 24-12-2011 à 13:57:05   

Reply

Marsh Posté le 24-12-2011 à 14:08:28    

surement une erreur a la ligne 42 de ton 2eme script

Reply

Marsh Posté le 24-12-2011 à 14:19:09    

Si j'ai pas mis les scripts c'est que je pense que le problème ne vient pas d'eux étant donné qu'il y a le même problème pour les deux..


Message édité par COCOOP le 24-12-2011 à 14:19:36
Reply

Marsh Posté le 24-12-2011 à 14:37:59    

tu ne mets ni les sciprts, ni ton code pour les intégrer, ni la base de données, ni même le nom des scripts utilisés, ni une page accessible en ligne pour tester  

Reply

Marsh Posté le 24-12-2011 à 14:49:39    

Désolé voici alors quand même le code de index.php où est situé le moteur de recherche (2ieme script testé) :j'ai juste modifié les variables, changer recherche.php3 et copier dans index.php, ajouté des includes et j'obtiens toujours : "Veuillez saisir un ou plusieurs mot-clés avant de cliquer sur 'OK' !"
 
 
<?
/******************************************************************
* VARIABLES A MODIFIER
******************************************************************/
 
// NOMBRE DE RESULTATS PAR PAGE
$limit=2;
 
// NOM DE CE SCRIPT
$script_name="index.php";
 
// SERVEUR SQL
$sql_serveur="mysql51-31.pro";
 
// LOGIN SQL
$sql_user="Confidentiel";
 
// MOT DE PASSE SQL
$sql_passwd="Confidentiel";
 
// BASE DE DONNEE
$sql_bdd="confidentiel";
 
// RECHERCHE AVEC TOUS LES MOTS : METTEZ "and"
// RECHERCHER LES PAGES QUI CONTIENNENT AU MOINS UN MOT : METTEZ "or"
$et_ou="or";
 
include("head.html" );        //header html
include("menu-index.html" );        //header html
include("debut-contenu.html" );        //header html
$fichier_courant = substr($_SERVER['PHP_SELF'],0,strrpos($_SERVER['PHP_SELF'],'.'));
 
$name_cookie = $fichier_courant == '/index' ? $_SERVER['SERVER_NAME'] :  $fichier_courant;
 
if(isset($_COOKIE[$name_cookie]))
        {
                $cookie_affiche_div = (get_magic_quotes_gpc())? stripslashes($_COOKIE[$name_cookie]) : $_COOKIE[$name_cookie];
                $tab_affiche_div = unserialize($cookie_affiche_div);
 
        }
?>
 
<div id="div_A" class="explica"><p onclick = "ShowDiv('div_A')" class="fermer">X</p>
Texte d'introduction
</div>
 
<form action="index.php" method="POST">
  <div style="width:244px;">
 <input type="text" class="multiSelect" onFocus="this.style.backgroundColor='#F9F9F9'" onBlur="this.style.backgroundColor='#FFF'" size="20" name="mot">
 <input type="submit" class="valider" name="valider" value="OK">
  </div>
</form>
 
<div style="clear:both;">&nbsp;</div>
 
<?
 
 
/******************************************************************
* PROGRAMME PRINCIPAL
******************************************************************/
 
$db_link = mysql_connect("$sql_serveur","$sql_user","$sql_passwd" );
 
$mot=strtolower($mot);
$mots=split(" ",$mot);
$nombre_mots=count($mots);
 
$z=1;
$texte="Pages contenant <b>&quot;$mots[0]&quot;</b>";
$phrase="'%$mots[0]%'";
while($z<$nombre_mots)
 {
 $phrase.=" ".$et_ou." mots like '%$mots[$z]%'";
 $texte.=" ";
 if($et_ou=="and" ){$texte.="et";}else{$texte.="ou";}
 $texte.=" <b>&quot;$mots[$z]&quot;</b>";
 $z++;
 }
 
if($debut=="" ){$debut=0;}
$debut=$page*$limit;
 
// NOMBRE TOTAL D'ENREGISTREMENTS REPONDANT A LA REQUETE
$requete=mysql_db_query("$sql_bdd","select count(*) from recherche where mots like $phrase order by id",$db_link);
$nb_total=mysql_result($requete,0,"count(*)" );
 
$requete=mysql_db_query("$sql_bdd","select * from recherche where mots like $phrase limit $debut,$limit",$db_link);
$num=mysql_num_rows($requete);
 
// DEFINITION DU MESSAGE A AFFICHER
if ($num==0) {echo "Désolé, aucune page de ce site ne contient <b>$mot</b>...";}
else if ($mot=="" )  {echo "Veuillez saisir un ou plusieurs mot-clés avant de cliquer sur 'OK' !";}
else if (strlen($mot)<2) {echo "Veuillez saisir au moins 2 caractères.";}
 
// AFFICHAGE DES RESULTATS
else {
 
echo "<b>$nb_total</b> r&eacute;ponse";
if ($nb_total>1) {echo "s";}
echo "<br>$texte";
 
$i=0;
while($i<$num)
 {
 $url=mysql_result($requete,$i,"url" );
 $description=mysql_result($requete,$i,"description" );
 $titre=mysql_result($requete,$i,"titre" );
 echo "<br><br><a href=\"$url\"><b>$titre</b></a><br>$description<br><font size=1>$url</font>\n";
 $i++;
 }
 
echo "<br><br>";
 
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST
// (LA PREMIERE PAGES EST 0)
if ($page>0)
 {
 $precedent=$page-1;
 print  "<a href=\"$script_name?page=$precedent&mot=$mot\">PRECEDENT</a>&nbsp;\n";
 }
 
 
// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nb_total>$limit)
 {
 while($i<($nb_total/$limit))
  {
  if($i!=$page){echo "(<a href=\"$script_name?page=$i&mot=$mot\">$j</a> )&nbsp;";}
  else {echo "<b>($j)</b>&nbsp;";}
  $i++;$j++;
  }
 }
 
 
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($debut+$limit<$nb_total)
 {
 $suivant=$page+1;
 echo "<a href=\"$script_name?page=$suivant&mot=$mot\">SUIVANT</a>";
 }
}
 
 
// DECONNEXION DE LA BASE DE DONNEE
mysql_close($db_link);
 
include("pied-index.html" );
?>

Reply

Marsh Posté le 24-12-2011 à 17:40:20    

Après avoir posté ce problème sur de nombreux forums j'ai trouvé moi même la solution sur un forum, j'ai ajouté :
 

Code :
  1. if(isset($_POST["mot"])) $mot = $_POST["mot"];
  2. else $mot = "";


 
Source : http://forum.phpfrance.com/php-deb [...] ml#p254858

Reply

Marsh Posté le 26-12-2011 à 20:36:35    

ton problème venait surement des register_globals qui étaient à "on" avant et ton hébergeur les a passé à "off" ou c'est lorsque ton hébergeur a mis à jour une version de PHP sur ton hébergement et par défaut maintenant les register_globals sont à off
Ce qui prouve que tes scripts php étaient assez dégueulasses.


Message édité par gatsu35 le 26-12-2011 à 20:50:45

---------------
Blablaté par Harko
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed