Script Php pour moteur de recherche.

loulou -  
 Nico -
Bonjour,
j'ai lu le tutoriel sur le site commentcamarche pour faire un script php pour moteur de recherche, ce qui est bien avec ce script c'est que la base est automatiquement remplie et non pas manuellement. oui mais voilà ce script me renvoie beaucoup d'erreurs, prenons le script du remplissage que j'ai nommé remplissage.php et que voici
<?php
echo "
<p>\n
<table BGCOLOR=\"#EFF2FB\" BORDER=\"0\"
							CELLSPACING=\"0\"
							CELLPADDING=\"1\"
							WIDTH="100%">\n
<tr><td>\n
<a name=\"#index\"><h2>Indexation du site en cours</h2></a>\n
</td></tr>\n
</table>\n
<p>\n";

$host = "localhost";
$user = "root";
$password = "";
$bdd = "pfe2";

/* Connexion avec MySQL */
mysql_connect($host,$user,$password) or die ("Impossible de se connecter
au serveur de base de donnees");

mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd");

$query = "DELETE FROM search";

mysql_query($query) or die ("Erreur de modification de la table");

function ScanDir($Directory){
$MyDirectory = opendir($Directory);

	while($Entry = readdir($MyDirectory)) {
		echo "<br>entry= $Entry<br>";

		echo "repertoire= $Directory<br>";

		echo "chemin= $Directory/$Entry<br>";

		if(is_dir($Entry)&& $Entry != "." && $Entry != "..") {
			echo "<b><font color=\"red\">$Entry</font>
				  </b> est un repertoire<br>";

			ScanDir("$Entry/$Directory");

		}
		else {
		if (eregi(".htm",$Entry)) {
			$MetaTags = get_meta_tags($Directory."/".$Entry);

			if ($MetaTags["robots"] == "all") {
				$MetaKey = $MetaTags["keywords"];

				$MetaKey = strtoupper($MetaKey);

				echo "Meta($Directory/$Entry): $MetaKey
\n";

				$MetaTitre = $MetaTags["title"];

				echo "Meta($Directory/$Entry): $MetaTitre
\n";

			$query = "INSERT INTO search (lien,keyword,titre)
			VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")";

			$mysql_result = mysql_query($query) or die ("Erreur
			de modification de la table par la requete \"$query\"");

			}
		}
		}
	}
closedir($MyDirectory);

}

$open_basedir=".";

ScanDir(".");

mysql_close();

?>


La premiere erreure se situe au niveau de la ligne en gras et le message est le suivant, "Parse error: parse error, expecting '','' or '';''" je ne me suis pas cassé la tête alors j'ai enlevé toute la ligne, (j'aimerais bien quand même qu'on me dise ou se situe l'erreur. Après avoir enlevé cette ligne, une autre erreur apparait avec comme message "
Fatal error: Cannot redeclare ScanDir()" il faut apparemment renommer scandir alors je l'ai renommé en scandir_all et quand je le fais et que j'execute le script apache se plante systematiquement, pourquoi ? Merci de m'aider.

3 réponses

  1. Nico
     
    Bonjour Loulou,

    Il faut utiliser le caractère d'échappement, avec de mettre des guillemets dans des guillemets.

    Ta ligne en gras devient alors : WIDTH=\"100%\">\n

    Et voila.

    Bien Cordialement

    Nico - Webmaster - https://www.nc-concept.com/
    0
  2. loulou
     
    Merci nico est ce que tu is pourquoi est ce que ca plante à chaque fois que j'execute le script ? j'ai firefox qui me dit "La connexion avec le serveur a été réinitialisée pendant le chargement de la page." et apache se ferme.
    0