Help ! Erreur SQL après installation réussie
24 messages • Page 1 sur 2 • 1, 2
Help ! Erreur SQL après installation réussie
Bonsoir,
Après avoir dézippé et transféré via ftp la v1.1 beta sans problème sur mon site, j'ai lancé l'install par "mon_site/robotstats/admin/install.php" après avoir fait une modif dans le fichier config.php, où j'ai mis :
$RS_CONNECT = @mysql_connect ("sql.free.fr", "mon_login", "mon_password");
$RS_DB = @mysql_select_db("free.fr");
sans savoir si c'était ce qu'il fallait faire, au pifomètre quoi
Vous aurez compris que mon site est hébergé chez Free.
Ca a réussi (enfin, je suppose) car j'ai eu le msg suivant :
Installation des tables MySQL terminée.
Il vous reste encore 1 chose à faire !!!
Dans le fichier robotstats.inc.php, la variable RS_DIR doit être égale à : /var/www/free.fr/b/f/mon_site/robotstats/
L'installation est terminée. Pensez à supprimer le fichier install.php de votre serveur. Cliquez ici pour revenir à l'accueil.
J'ai modifié la variable RS_DIR de robotstats.inc.php comme demandé.
En cliquant sur le mot "ici", un menu s'affiche en haut de la page avec :
Reset (supression d'enregistrements)
Vérifier si vous avez la dernière version de RobotStats
Gestion des robots
Quand je clique sur "Gestion des robots", j'obtiens la page suivante :
Gestion des robots
Ajouter un nouveau robot
Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/b/f/mon_site/robotstats/admin/robots.lib.php on line 24
Erreur: SELECT * FROM rs_robots ORDER BY nom ASC Unknown MySQL Server Host 'mon_site.sql.free.fr' (2)
Et là, je fais appel à vos lumières car je cale. J'ai essayé de trouver dans les archives mais vu le nombre de pages à lire, j'ai jeté l'éponge après en avoir lu une vingtaine.
Qui pourrais me dire où j'ai fait une erreur ?
N'est-ce pas pour commencer dans le fichier config.php ?
Merci à tous
Après avoir dézippé et transféré via ftp la v1.1 beta sans problème sur mon site, j'ai lancé l'install par "mon_site/robotstats/admin/install.php" après avoir fait une modif dans le fichier config.php, où j'ai mis :
$RS_CONNECT = @mysql_connect ("sql.free.fr", "mon_login", "mon_password");
$RS_DB = @mysql_select_db("free.fr");
sans savoir si c'était ce qu'il fallait faire, au pifomètre quoi
Vous aurez compris que mon site est hébergé chez Free.
Ca a réussi (enfin, je suppose) car j'ai eu le msg suivant :
Installation des tables MySQL terminée.
Il vous reste encore 1 chose à faire !!!
Dans le fichier robotstats.inc.php, la variable RS_DIR doit être égale à : /var/www/free.fr/b/f/mon_site/robotstats/
L'installation est terminée. Pensez à supprimer le fichier install.php de votre serveur. Cliquez ici pour revenir à l'accueil.
J'ai modifié la variable RS_DIR de robotstats.inc.php comme demandé.
En cliquant sur le mot "ici", un menu s'affiche en haut de la page avec :
Reset (supression d'enregistrements)
Vérifier si vous avez la dernière version de RobotStats
Gestion des robots
Quand je clique sur "Gestion des robots", j'obtiens la page suivante :
Gestion des robots
Ajouter un nouveau robot
Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/b/f/mon_site/robotstats/admin/robots.lib.php on line 24
Erreur: SELECT * FROM rs_robots ORDER BY nom ASC Unknown MySQL Server Host 'mon_site.sql.free.fr' (2)
Et là, je fais appel à vos lumières car je cale. J'ai essayé de trouver dans les archives mais vu le nombre de pages à lire, j'ai jeté l'éponge après en avoir lu une vingtaine.
Qui pourrais me dire où j'ai fait une erreur ?
N'est-ce pas pour commencer dans le fichier config.php ?
Merci à tous
$RS_DB = @mysql_select_db("free.fr");
le nom de la base c'est ton login normalement
http://support.free.fr/web/php/mysql.html
le nom de la base c'est ton login normalement
http://support.free.fr/web/php/mysql.html
Merci pour le lien !
J'ai fait les modifs, ça ne marche toujours pas, mais comme j'avais activé la base SQL pour mon login principal et non pour le compte secondaire où est mon site perso, c'est peut-être à cause de ça.
Cela devrait rentrer dans l'ordre demain, on verra bien.
@+
Cela devrait rentrer dans l'ordre demain, on verra bien.
@+
Bonsoir,
J'ai activé le SQL sur mon site, mais Robostats continue à me faire des misères avec le message d'errreur suivant :
Erreur: SELECT id FROM rs_robots Table 'infosradars.rs_robots' doesn't exist
Qu'est-ce donc ?
Merci de m'aider et bon réveillon à tous.
Lionel
J'ai activé le SQL sur mon site, mais Robostats continue à me faire des misères avec le message d'errreur suivant :
Erreur: SELECT id FROM rs_robots Table 'infosradars.rs_robots' doesn't exist
Qu'est-ce donc ?
Merci de m'aider et bon réveillon à tous.
Lionel
Lionelfzs a écrit:Bonsoir,
J'ai activé le SQL sur mon site, mais Robostats continue à me faire des misères avec le message d'errreur suivant :
Erreur: SELECT id FROM rs_robots Table 'infosradars.rs_robots' doesn't exist
Qu'est-ce donc ?
Merci de m'aider et bon réveillon à tous.
Lionel
Tout simplement ton fichier install qui n'a pas fait son boulot.
Va dans ta base sql et fait une requête avec ça :
http://www.webrankinfo.com/forums/viewtopic_20605.htm
il te restera plus qu'à mettre les robots.
Euh, l'ajout des robots a réussi mais j'aiune autre erreur :
Erreur: SELECT id FROM rs_log WHERE TO_DAYS(date) = TO_DAYS('2005-1-6') AND robot=11 AND url LIKE '%%' Table 'infosradars.rs_log' doesn't exist.
Est-ce parce qu'aucun robots n'est passé ?
Les tables "rs_robot" et "rs_log" existent bient sur mon site.
Erreur: SELECT id FROM rs_log WHERE TO_DAYS(date) = TO_DAYS('2005-1-6') AND robot=11 AND url LIKE '%%' Table 'infosradars.rs_log' doesn't exist.
Est-ce parce qu'aucun robots n'est passé ?
Les tables "rs_robot" et "rs_log" existent bient sur mon site.
J'ai mis :
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
dans robotstats.inc.php
et
$RS_TABLE_LOG = "rs_log"; // nom de la table stockant les visites
$RS_TABLE_ROBOTS = "rs_robots"; // nom de la table definissant les robots
dans config.php
Par contre, aucune visite depuis que j'ai installé le biniou il y a une semaine. Est-ce normal ou ai-je oublié qqch ?
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
dans robotstats.inc.php
et
$RS_TABLE_LOG = "rs_log"; // nom de la table stockant les visites
$RS_TABLE_ROBOTS = "rs_robots"; // nom de la table definissant les robots
dans config.php
Par contre, aucune visite depuis que j'ai installé le biniou il y a une semaine. Est-ce normal ou ai-je oublié qqch ?
Pour mes robots, j'ai cette liste :
Robots activés :
Alexa [info]
Almaden [info]
Ask Jeeves [info]
ASP seek [info]
DeepIndex [info]
Fast [info]
Google WAP [info]
GoogleBot [info]
GoogleBot 2 [info]
Googlebot-Image [info]
Lycos Spider (T-Rex) [info]
Mediapartner [info]
Mercator (Altavista) [info]
MSN Bot [info]
Openfind [info]
Pompos [info]
Scooter (Altavista) [info]
Slurp (Inktomi) [info]
SlySearch [info]
test [info]
VoilaBot [info]
W3C [info]
Wanadoo [info]
Yahoo! Slurp [info]
ZyBorg (WiseNut) [info]
Robots désactivés :
Robots activés :
Alexa [info]
Almaden [info]
Ask Jeeves [info]
ASP seek [info]
DeepIndex [info]
Fast [info]
Google WAP [info]
GoogleBot [info]
GoogleBot 2 [info]
Googlebot-Image [info]
Lycos Spider (T-Rex) [info]
Mediapartner [info]
Mercator (Altavista) [info]
MSN Bot [info]
Openfind [info]
Pompos [info]
Scooter (Altavista) [info]
Slurp (Inktomi) [info]
SlySearch [info]
test [info]
VoilaBot [info]
W3C [info]
Wanadoo [info]
Yahoo! Slurp [info]
ZyBorg (WiseNut) [info]
Robots désactivés :
Lionelfzs a écrit:J'ai mis :
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
dans robotstats.inc.php
dsl mais ou tu as mis ca
moi dans mon fichier robostats.inc.php
j ai ca
- Code: Tout sélectionner
include($DOCUMENT_ROOT.'/'.$RS_DIR.'/lang.'.$RS_LANGUE.'.php');
et je ne retrouve RS_DIR nul part ailleur sur le fichier
Voici mon fichier robostats.inc.php complet :
<?php
/***************************************************************************
*
* RobotStats
*
* Author: Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com )
* Version: 2.1-beta
* Date: 2003-06-07
* Homepage: http://www.robotstats.com
*
***************************************************************************/
if (!defined("robotstats_inc"))
{
define("robotstats_inc", "robotstats_inc_ok");
//-------------------------------------------------------------------------
// constantes
//-------------------------------------------------------------------------
// PENSEZ à METTRE A JOUR CETTE VARIABLE ! Voir admin/root.php
// exemple : $RS_DIR = /home/web/votresite/robotstats/
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
//-------------------------------------------------------------------------
// inclusions
//-------------------------------------------------------------------------
// fichier de configuration
require($RS_DIR.'./admin/config.php');
// fichier de dictionnaire
require($RS_DIR.'./lang.'.$RS_LANGUE.'.php');
//-------------------------------------------------------------------------
// fonction d'envoi d'un message par mail pour les erreurs MySQL
//-------------------------------------------------------------------------
function sendErrorMySQL($sql)
{
global $RS_SEND_ERROR_MYSQL, $RS_ADRESSE_EMAIL, $RS_LANG;
if ($RS_SEND_ERROR_MYSQL == 'y')
{
$content = $RS_LANG["MySQLErrorBody1"].mysql_error()."\n".$sql."\n\n".$RS_LANG["MySQLErrorBody2"]."\n\n";
$content .= "DATE : ".date("d/m/Y H:i")."\n";
$content .= "REMOTE HOST : ".$_SERVER["REMOTE_HOST"]."\n";
$content .= "REMOTE ADDR : ".$_SERVER["REMOTE_ADDR"]."\n";
$content .= "REQUEST_METHOD : ".$_SERVER["REQUEST_METHOD"]."\n";
$content .= "REQUEST_URL : ".$_SERVER['REQUEST_URL']."\n";
$content .= "REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";
$content .= "QUERY_STRING : ".$_SERVER["QUERY_STRING"]."\n";
$content .= "HTTP_REFERER : ".$_SERVER["HTTP_REFERER"]."\n";
$content .= "BROWSER : ".$_SERVER["HTTP_USER_AGENT"]."\n";
$content .= "REDIRECT_URL : ".$REDIRECT_URL."\n";
@mail($RS_ADRESSE_EMAIL, $RS_LANG["MySQLErrorSubject"],
$content,
"From: $RS_ADRESSE_EMAIL");
}
}
//-------------------------------------------------------------------------
// debut du script
//-------------------------------------------------------------------------
// pour compatibilité avec les anciennes versions de PHP
if (!isset($_SERVER))
$_SERVER = $HTTP_SERVER_VARS;
// par defaut le robot n'est pas détecté
$detecte = false;
// pour chaque robot (sauf ceux qui sont désactivés)
$sql = "SELECT *";
$sql .= " FROM ".$RS_TABLE_ROBOTS;
$sql .= " WHERE actif=1";
$res = mysql_query($sql) or sendErrorMySQL($sql);
// tant qu'aucun robot n'a été détecté, et qu'il y en a à tester
while ( !($detecte) && ($enr = @mysql_fetch_array($res)) )
{
// selon le mode de détection du robot :
if ($enr["detection"] == $RS_DETECTION_USER_AGENT)
{
// on détecte le robot en regardant son User Agent
$detecte = (stristr($_SERVER["HTTP_USER_AGENT"], $enr["user_agent"]) !== false);
}
else if ($enr["detection"] == $RS_DETECTION_IP)
{
// on détecte le robot par son adresse IP
$detecte = false;
// cas du robot test
if ($enr["ip1"] == ".")
$detecte = true;
else
{
if ($enr["ip1"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip1"])), $enr["ip1"]) !== false );
}
if ($enr["ip2"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip2"])), $enr["ip2"]) !== false );
}
}
}
// si le robot a été détecté, on enregistre sa visite
if ($detecte)
{
// date, adresse IP du robot et nom de domaine
$robot_ = $enr["id"];
$date_ = date("Y-m-d H:i:s");
$ip_ = $_SERVER["REMOTE_ADDR"];
$dns_ = @gethostbyaddr($ip_);
$code_ = $_SERVER["REDIRECT_STATUS"];
// récupération de l'URL (située après le nom de domaine)
if ($RS_URL_REWRITING == 'y')
{
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
$url_ = $_SERVER["SCRIPT_NAME"];
if ($_SERVER["QUERY_STRING"] != "")
$url_ .= "?".$_SERVER["QUERY_STRING"];
}
// test du debut du Full Crawl
if ($RS_TEST_FULL_CRAWL == 'y')
{
// si le robot est le GoogleBot Full Crawl
if ( strstr($_SERVER["REMOTE_ADDR"], $RS_FULL_CRAWL_IP) !== false )
{
// on va chercher s'il est déjà venu dans les $RS_NB_J_DET_FULL_CRAWL
// derniers jours
$sql3 = "SELECT id";
$sql3 .= " FROM ".$RS_TABLE_LOG;
$sql3 .= " WHERE ip LIKE '".$RS_FULL_CRAWL_IP."%'";
$sql3 .= " AND (TO_DAYS(NOW()) - TO_DAYS(date)) <= ".$RS_NB_J_DET_FULL_CRAWL;
$res3 = mysql_query($sql3) or sendErrorMySQL($sql3);
// si la requete n'a donné aucun résultat, c'est sans doute le
// début du Full Crawl : on envoie un mail
if ( (mysql_num_rows($res3) == 0) &&
!file_exists($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt') )
{
@mail($RS_ADRESSE_EMAIL,
$RS_LANG["FullCrawlBeginSubject"],
$RS_LANG["FullCrawlBeginBody"],
"From: $RS_ADRESSE_EMAIL");
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt', 'w');
fclose($fp);
}
}
} // fin du test sur le Full Crawl
// requete MySQL d'insertion de la visite
$sql2 = "INSERT INTO ".$RS_TABLE_LOG;
$sql2 .= " (robot, url, date, ip, dns, code) VALUES ('$robot_', '$url_', '$date_', '$ip_', '$dns_', '$code_')";
$res2 = mysql_query($sql2) or sendErrorMySQL($sql2);
} // fin du cas où un robot a été détecté
} // fin de la boucle sur les robots
}
?>
<?php
/***************************************************************************
*
* RobotStats
*
* Author: Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com )
* Version: 2.1-beta
* Date: 2003-06-07
* Homepage: http://www.robotstats.com
*
***************************************************************************/
if (!defined("robotstats_inc"))
{
define("robotstats_inc", "robotstats_inc_ok");
//-------------------------------------------------------------------------
// constantes
//-------------------------------------------------------------------------
// PENSEZ à METTRE A JOUR CETTE VARIABLE ! Voir admin/root.php
// exemple : $RS_DIR = /home/web/votresite/robotstats/
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
//-------------------------------------------------------------------------
// inclusions
//-------------------------------------------------------------------------
// fichier de configuration
require($RS_DIR.'./admin/config.php');
// fichier de dictionnaire
require($RS_DIR.'./lang.'.$RS_LANGUE.'.php');
//-------------------------------------------------------------------------
// fonction d'envoi d'un message par mail pour les erreurs MySQL
//-------------------------------------------------------------------------
function sendErrorMySQL($sql)
{
global $RS_SEND_ERROR_MYSQL, $RS_ADRESSE_EMAIL, $RS_LANG;
if ($RS_SEND_ERROR_MYSQL == 'y')
{
$content = $RS_LANG["MySQLErrorBody1"].mysql_error()."\n".$sql."\n\n".$RS_LANG["MySQLErrorBody2"]."\n\n";
$content .= "DATE : ".date("d/m/Y H:i")."\n";
$content .= "REMOTE HOST : ".$_SERVER["REMOTE_HOST"]."\n";
$content .= "REMOTE ADDR : ".$_SERVER["REMOTE_ADDR"]."\n";
$content .= "REQUEST_METHOD : ".$_SERVER["REQUEST_METHOD"]."\n";
$content .= "REQUEST_URL : ".$_SERVER['REQUEST_URL']."\n";
$content .= "REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";
$content .= "QUERY_STRING : ".$_SERVER["QUERY_STRING"]."\n";
$content .= "HTTP_REFERER : ".$_SERVER["HTTP_REFERER"]."\n";
$content .= "BROWSER : ".$_SERVER["HTTP_USER_AGENT"]."\n";
$content .= "REDIRECT_URL : ".$REDIRECT_URL."\n";
@mail($RS_ADRESSE_EMAIL, $RS_LANG["MySQLErrorSubject"],
$content,
"From: $RS_ADRESSE_EMAIL");
}
}
//-------------------------------------------------------------------------
// debut du script
//-------------------------------------------------------------------------
// pour compatibilité avec les anciennes versions de PHP
if (!isset($_SERVER))
$_SERVER = $HTTP_SERVER_VARS;
// par defaut le robot n'est pas détecté
$detecte = false;
// pour chaque robot (sauf ceux qui sont désactivés)
$sql = "SELECT *";
$sql .= " FROM ".$RS_TABLE_ROBOTS;
$sql .= " WHERE actif=1";
$res = mysql_query($sql) or sendErrorMySQL($sql);
// tant qu'aucun robot n'a été détecté, et qu'il y en a à tester
while ( !($detecte) && ($enr = @mysql_fetch_array($res)) )
{
// selon le mode de détection du robot :
if ($enr["detection"] == $RS_DETECTION_USER_AGENT)
{
// on détecte le robot en regardant son User Agent
$detecte = (stristr($_SERVER["HTTP_USER_AGENT"], $enr["user_agent"]) !== false);
}
else if ($enr["detection"] == $RS_DETECTION_IP)
{
// on détecte le robot par son adresse IP
$detecte = false;
// cas du robot test
if ($enr["ip1"] == ".")
$detecte = true;
else
{
if ($enr["ip1"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip1"])), $enr["ip1"]) !== false );
}
if ($enr["ip2"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip2"])), $enr["ip2"]) !== false );
}
}
}
// si le robot a été détecté, on enregistre sa visite
if ($detecte)
{
// date, adresse IP du robot et nom de domaine
$robot_ = $enr["id"];
$date_ = date("Y-m-d H:i:s");
$ip_ = $_SERVER["REMOTE_ADDR"];
$dns_ = @gethostbyaddr($ip_);
$code_ = $_SERVER["REDIRECT_STATUS"];
// récupération de l'URL (située après le nom de domaine)
if ($RS_URL_REWRITING == 'y')
{
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
$url_ = $_SERVER["SCRIPT_NAME"];
if ($_SERVER["QUERY_STRING"] != "")
$url_ .= "?".$_SERVER["QUERY_STRING"];
}
// test du debut du Full Crawl
if ($RS_TEST_FULL_CRAWL == 'y')
{
// si le robot est le GoogleBot Full Crawl
if ( strstr($_SERVER["REMOTE_ADDR"], $RS_FULL_CRAWL_IP) !== false )
{
// on va chercher s'il est déjà venu dans les $RS_NB_J_DET_FULL_CRAWL
// derniers jours
$sql3 = "SELECT id";
$sql3 .= " FROM ".$RS_TABLE_LOG;
$sql3 .= " WHERE ip LIKE '".$RS_FULL_CRAWL_IP."%'";
$sql3 .= " AND (TO_DAYS(NOW()) - TO_DAYS(date)) <= ".$RS_NB_J_DET_FULL_CRAWL;
$res3 = mysql_query($sql3) or sendErrorMySQL($sql3);
// si la requete n'a donné aucun résultat, c'est sans doute le
// début du Full Crawl : on envoie un mail
if ( (mysql_num_rows($res3) == 0) &&
!file_exists($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt') )
{
@mail($RS_ADRESSE_EMAIL,
$RS_LANG["FullCrawlBeginSubject"],
$RS_LANG["FullCrawlBeginBody"],
"From: $RS_ADRESSE_EMAIL");
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt', 'w');
fclose($fp);
}
}
} // fin du test sur le Full Crawl
// requete MySQL d'insertion de la visite
$sql2 = "INSERT INTO ".$RS_TABLE_LOG;
$sql2 .= " (robot, url, date, ip, dns, code) VALUES ('$robot_', '$url_', '$date_', '$ip_', '$dns_', '$code_')";
$res2 = mysql_query($sql2) or sendErrorMySQL($sql2);
} // fin du cas où un robot a été détecté
} // fin de la boucle sur les robots
}
?>
ha bah je comprend mieux j ai pas ca du tout moi !
- Code: Tout sélectionner
<?php
/***************************************************************************
*
* RobotStats
*
* Author: Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com )
* Version: 1.0
* Date: 2003-10-11
* Homepage: http://www.robotstats.com
*
***************************************************************************/
if (!defined("robotstats_inc"))
{
define("robotstats_inc", "robotstats_inc_ok");
//-------------------------------------------------------------------------
// inclusions
//-------------------------------------------------------------------------
// fichier de configuration
include($DOCUMENT_ROOT.'/robotstats/admin/config.php');
// fichier de dictionnaire
include($DOCUMENT_ROOT.'/'.$RS_DIR.'/lang.'.$RS_LANGUE.'.php');
//-------------------------------------------------------------------------
// fonction d'envoi d'un message par mail pour les erreurs MySQL
//-------------------------------------------------------------------------
function sendErrorMySQL($sql)
{
global $RS_SEND_ERROR_MYSQL, $RS_ADRESSE_EMAIL, $RS_LANG;
if ($RS_SEND_ERROR_MYSQL == 'y')
{
@mail($RS_ADRESSE_EMAIL, $RS_LANG["MySQLErrorSubject"],
$RS_LANG["MySQLErrorBody1"].$sql."\n".$RS_LANG["MySQLErrorBody2"],
"From: $RS_ADRESSE_EMAIL");
}
}
//-------------------------------------------------------------------------
// debut du script
//-------------------------------------------------------------------------
// pour compatibilité avec les anciennes versions de PHP
if (!isset($_SERVER))
$_SERVER = $HTTP_SERVER_VARS;
// par defaut le robot n'est pas détecté
$detecte = false;
// pour chaque robot (sauf ceux qui sont désactivés)
$sql = "SELECT *";
$sql .= " FROM ".$RS_TABLE_ROBOTS;
$sql .= " WHERE actif=1";
$res = mysql_query($sql) or sendErrorMySQL($sql);
// tant qu'aucun robot n'a été détecté, et qu'il y en a à tester
while ( !($detecte) && ($enr = @mysql_fetch_array($res)) )
{
// selon le mode de détection du robot :
if ($enr["detection"] == $RS_DETECTION_USER_AGENT)
{
// on détecte le robot en regardant son User Agent
$detecte = (stristr($_SERVER["HTTP_USER_AGENT"], $enr["user_agent"]) !== false);
}
else if ($enr["detection"] == $RS_DETECTION_IP)
{
// on détecte le robot par son adresse IP
$detecte = false;
if ($enr["ip1"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip1"])), $enr["ip1"]) !== false );
}
if ($enr["ip2"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip2"])), $enr["ip2"]) !== false );
}
}
// si le robot a été détecté, on enregistre sa visite
if ($detecte)
{
// date, adresse IP du robot et nom de domaine
$robot_ = $enr["id"];
$date_ = date("Y-m-d H:i:s");
$ip_ = $_SERVER["REMOTE_ADDR"];
$dns_ = @gethostbyaddr($ip_);
$code_ = $_SERVER["REDIRECT_STATUS"];
// récupération de l'URL (située après le nom de domaine)
if ($RS_URL_REWRITING == 'y')
{
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
$url_ = $_SERVER["SCRIPT_NAME"];
if ($_SERVER["QUERY_STRING"] != "")
$url_ .= "?".$_SERVER["QUERY_STRING"];
}
// test du debut du Full Crawl
if ($RS_TEST_FULL_CRAWL == 'y')
{
// si le robot est le GoogleBot Full Crawl
if ( strstr($_SERVER["REMOTE_ADDR"], $RS_FULL_CRAWL_IP) !== false )
{
// on va chercher s'il est déjà venu dans les $RS_NB_J_DET_FULL_CRAWL
// derniers jours
$sql3 = "SELECT id";
$sql3 .= " FROM ".$RS_TABLE_LOG;
$sql3 .= " WHERE ip LIKE '".$RS_FULL_CRAWL_IP."%'";
$sql3 .= " AND (TO_DAYS(NOW()) - TO_DAYS(date)) <= ".$RS_NB_J_DET_FULL_CRAWL;
$res3 = mysql_query($sql3) or sendErrorMySQL($sql3);
// si la requete n'a donné aucun résultat, c'est sans doute le
// début du Full Crawl : on envoie un mail
if ( (mysql_num_rows($res3) == 0) &&
!file_exists($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt') )
{
@mail($RS_ADRESSE_EMAIL,
$RS_LANG["FullCrawlBeginSubject"],
$RS_LANG["FullCrawlBeginBody"],
"From: $RS_ADRESSE_EMAIL");
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt', 'w');
fclose($fp);
}
}
} // fin du test sur le Full Crawl
// requete MySQL d'insertion de la visite
$sql2 = "INSERT INTO ".$RS_TABLE_LOG;
$sql2 .= " (robot, url, date, ip, dns, code) VALUES ('$robot_', '$url_', '$date_', '$ip_', '$dns_', '$code_')";
$res2 = mysql_query($sql2) or sendErrorMySQL($sql2);
} // fin du cas où un robot a été détecté
} // fin de la boucle sur les robots
}
?>
24 messages • Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Redirection après erreur SQL pour données non trouvées.
- Plantage PC XP au démarrage après installation MSN
- Message erreur installation
- Temps de réponse après installation url rewriting ?
- Siteweb se lançant auto après installation d'un logiciel !
- erreur Sql
- erreur de requete sql
- Erreur requete SQL
- Erreur sql 1064
- Ereur SQL après avoir installé Robotstats
- Erreur SQL chez 1&1
- Erreur import base sql
- Erreur SQL Access denied phpmyvisites v2
- Erreur SQL dans les bookmarks WRI
- Besoin de renseignement sur une erreur SQL
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum