bug moteur rechercher

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bug moteur rechercher

Re: bug moteur rechercher

par stealth35 » 07 févr. 2011, 12:50

- Mets des echo régulièrement et rajoutes des or die explicites quand tu appelles une fonction mysql_, pour voir à quel endroit tu plantes...
pas top les or die en plus c'est or exit, il faut utiliser mysql.trace_mode :
ini_set('mysql.trace_mode', true);

Re: bug moteur rechercher

par 63renaud » 07 févr. 2011, 12:00

ok merci je vais faire les corrections et les tests.
Mais oui je ne vais pas plus loin mais ma page s'affiche bien avec les div.

Re: bug moteur rechercher

par macgawel » 07 févr. 2011, 11:36

- Quand tu mets ton commentaire je ne passe pas plus loin, ça veut vraiment dire que tu n'as plus rien ensuite ?
Même pas les </div> juste après ?

- Le fichier HTML que tu crées est foireux : tu as deux fois ton en-tête (balises <html> et <head>

- Mets des echo régulièrement et rajoutes des or die explicites quand tu appelles une fonction mysql_, pour voir à quel endroit tu plantes...

- Penses aussi à indenter correctement ton code. Il sera plus lisible, et donc plus facile à lire.

bug moteur rechercher

par 63renaud » 05 févr. 2011, 13:06

Bonjour

Suite à différent tutoriels je viens faire une fonction rechercher dans une table bien précise.
Mais je ne dépasse pas le stade de "veuillez entrer un mot clé".

merci d'éclairer ma lanterne.
fichier connect.php
<?php
    // Connexion au serveur 

$hote='localhost';          // le chemin vers le serveur

$nom_bd='base_fred';          // le nom de la base de données
$utilisateur='root';      // nom d'utilisateur pour se connecter
$pwd='';        // mot de passe de l'utilisateur pour se connecter



$c=mysql_connect("$hote","$utilisateur","$pwd");
$b=mysql_select_db("$nom_bd", $c) or die (mysql_error()) ;

?>
fichier rechercher_client.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Recherche Avancée</title>

</head>
<?php
    include_once'lien_css.php';
?>
<body>
    <div id="global">
<?php
		include_once 'header.php';
?>
<?php
			require_once'mysql_connect.php';
?>
 
<div id="principal">
	 <div id="label_haut">
				   <div id="label_client">
				[b]  <label>Recherche Trouvée Client</label>[/b] // je ne passe pas plus loin
				  </div>
	 </div>
<div id="commentaire_saisis_client">

<?php

// on choisit la bonne table
$bdt= mysql_query("SELECT * FROM client order by xguest_nom asc");
mysql_select_db($bdt) or die ("Connexion a la Table Client  impossible");

// on choisit la bonne base
//mysql_select_db($nom_bd) or die ("Connexion a la base  impossible");

echo "
<html>

<head>

<title>Résultat de la recherche</title>

</head>

<body>";

if (($Mot == "")||($Mot == "%")) {
		// Si aucun mot clé n'a été saisi,
		// le script demande à l'utilisateur
		// de bien vouloir préciser un mot clé

			echo "
			Veuillez entrer un mot clé s'il vous plaît!
			<p>";

}

else {
// On selectionne les enregistrements contenant le mot clé
// dans les keywords ou le titre
	$query = "SELECT distinct count(lien) FROM search
	WHERE keyword LIKE \"%$Mot%\"
	OR titre LIKE \"%$Mot%\"
	";

	$result = mysql_query($query);

	$row = mysql_fetch_row($result);

	$Nombre = $row[0];

// Si aucun enregistrement n'est retourné,
// on affiche un message adéquat
if ($Nombre == "0") {
	echo "
	<h2>Aucun résultat ne correspond à votre recherche</h2>

	<p>

	";

}

// Sinon, on affiche le nombre d'enregistrements correspondant
// et les résultats eux-mêmes
else {
	$query = "SELECT distinct lien,keyword,titre FROM search
	WHERE keyword LIKE \"%$Mot%\"
	OR titre LIKE \"%$Mot%\" ORDER by titre ASC";

	$result = mysql_query($query);

	// Si un seul enregistrement est trouvé, on affiche un message au singulier
	if ($Nombre == "1") {
	echo "
	<a name=\"#resultat\"><h2>Résultat: Un article trouvé</h2></a>

	<p>";

	}
	// Dans le cas contraire le message est au pluriel...
	else {
	echo "
	<a name=\"#resultat\"><h2>Résultat: $Nombre articles trouvés</h2></a>

	<p>";

	}
	while($row = mysql_fetch_row($result))
	{
		echo "
		<p>\n
		<b>$row[2]</b>\n
		<br><a href=\"../$row[0]\">Visualiser l'article</a>\n
		<p>\n
		";

	}
}

}

// on ferme la base
mysql_close();

?>
</div>

</div><!-- fin div principal -->
</div> <!-- fin div global-->
</body>
</html>