guppy71

  • Signature
    Guppy71
  • Site web
  • Nombre de sujets
    117
  • Nombre de messages
    228
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

guppy71
le 08/11/2010 à 16:53
déboguer ce code
http://www.lephpfacile.com/wall/wall-1935.php
Guppy71
guppy71
le 07/11/2010 à 15:34
Optimiser ce code
Bonjour,

Quelqu'un aurait il une idée pour optimiser ce code sachant que $t=4300 et que la table "collection" est elle aussi à plus de 4000. Ceci pour éviter la fameuse erreur:
Fatal error: Maximum execution time of 60 seconds exceeded in
Guppy71
guppy71
le 10/03/2010 à 23:21
configurer mysql
Justement, comment expliquer que ce script fonctionne avec ma version actuelle (1.8) et qu'il ne marche pas avec la nouvelle version (5.3.2) ???
Guppy71
guppy71
le 10/03/2010 à 15:05
configurer mysql
Ci-dessous le script complet de connexion

<?
@session_start();
//connection au serveur local
$cnx = mysql_connect("localhost", "root", "");
$db=mysql_select_db('timbres_ver2',$cnx);
//l'adresse de connexion
$_SESSION['adresse_site']="http://127.0.0.1/timbres VER2/";

$_SESSION['ip_visiteur']=$_SERVER['REMOTE_ADDR'];



?>
<?php
//======================== mise à jour des statistiques====================================

if(!isset($_SESSION['pseudo'])) $_SESSION['pseudo']="";
$pseu=$_SESSION['pseudo'];

//détection des robots et aspirateurs
//pour les robots
$UA=$_SERVER["HTTP_USER_AGENT"];
$brow = strtolower($UA);//en minuscules pour toutes les versions
$bots = array ("alexa","antibot","appie1.1","archive","ask","askjeeves","baiduspider","bspider","cfnetwork","converacrawler","custo","deepIndex","dloader","exabot","fast","fish search","fluffy","gaisbot","gigabot","girafabot","google","google adsence","googlebot","googlebot-image","grub.org","henrilerobotmirago","heritrix","holmes","httrack","ia_archiver","ichiro","inktomi slurp","iwp-trivial","java","larbin","mediapartners-google","mj12bot","msnbot","msnbot-media","msiecrawler","msrbot","netresearchserver","nimblecrawler","nutch","nutchcvs","openbot","openfind","picsearch","pompos","psbot","python-urllib","robozilla","sbider","seekbot","scooter","shinchakubin","slurp","speedy spider","spider","stackramber","surveybot","szukacz","tencentraveler","teoma","the web archive","turn it in","vagabondo","voila","voilabot","voyager","webcollage","webcrawler","xenu link sleuth","yacy","yandex","yahoo","yahoo!","yahoo-mmcrawler","yahooseeker","zyborg");//on ajoute ici les noms des autres robots en minuscules
$n=0;$robotstat="vide";$robot="";
do
{
$robot = strchr($brow,$bots[$n]);
if($robot<>"") $robotstat="robot";
$n=$n+1;
}while ((!$robot) && ($n<count($bots)));

//$date_robot=date("d-m-Y");
if($robot<>"")
{ $page_robot=0;$lig_robot=0;
$result = mysql_query("SELECT * FROM robot");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($robot==trim($row[4]))
{
$page_robot=$row[3];$lig_robot=$row[0];

}
}
if($page_robot>0)
{ $page_robot++;
$sql='REPLACE INTO robot VALUES ("'.$lig_robot.'","'.date("Y-m-d").'","'.$_SESSION['ip_visiteur'].'","'.$page_robot.'","'.$robot.'","x","x","x")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
}

if($page_robot==0)
{ $page_robot++;
$sql='INSERT INTO robot VALUES (" ","'.date("Y-m-d").'","'.$_SESSION['ip_visiteur'].'","'.$page_robot.'","'.$robot.'","x","x","x")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
}

}//fin de if robot<>""



//elimination des aspirateurs
$bots = array ("curl","^-?$ ","advanced\ email\ extractor","acrobat","almaden","@nonymouse","art-online","cherrypicker","crescent\ internet\ toolpack","directupdate","download\ accelerator","ecatch","extense","emailcollector","emailwolf","extractorpro","fetch","api request","flashget","frontpage","go!zilla","http agent","httpconnect","httrack","indy","library","ipiumbot laurion(dot)com","kapere","libwww-perl","microsoft control","minibot(naverrobot)","nicerspro","npbot","offline explorer","offline navigator","program shareware","quepasacreep","sitemapper","star downloader","surveybot","teleport pro","telesoft","turingos","turnitinbot","vobsub","webbandit","webcapture","webcollage","webcopier","webdav","webemailextractor","webreaper","websaver","webstripper","webzip","wget","wysigot","zeus.*webster","zeus","^xxx"); //on ajoute ici les noms des autres aspirateur en minuscules
$n=0;$aspirateur="vide";$aspi="";
do
{
$aspi = strchr($brow,$bots[$n]);
if($aspi<>"") $aspirateur="aspiOK";
$n=$n+1;
}while ((!$aspi) && ($n<count($bots)));

if($aspirateur=="aspiOK") header('location:'.$_SESSION["adresse_site"]."aspirateur.html");



//=================================================================================================================
$pseu=$_SESSION['pseudo'];
if($pseu<>"crepy" && $robotstat<>"robot")
{

// blocage des IP qui visite trop de pages
$Vcpt = 0;
$Vdate = date("Y/m/d H:i");
$Vua = $HTTP_SERVER_VARS["HTTP_USER_AGENT"];
$Vip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

// clean up old IP
mysql_query("DELETE FROM ip WHERE date <> '$Vdate'");

// chercher si le visiteur est interdit
$jj=0;
$result = mysql_query("SELECT * FROM ip_bl");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{ if($row[2]==$Vip) $jj=1; }
// Visiteur trouvé dans les IP interdites
mysql_free_result($result);
if($jj==1) header('location:'.$_SESSION["adresse_site"]."aspirateur.html");




// chercher si le visiteur est déjà passé
$res = mysql_query("SELECT id, ip, date, cpt FROM ip WHERE ip='$Vip'");
while(list($id, $ip, $date, $cpt) = mysql_fetch_row($res)) $Vcpt = $cpt;
mysql_free_result($res);

if ($Vcpt == 0) mysql_query("INSERT into ip (id, ua, ip, date, cpt) values ('', '$Vua', '$Vip', '$Vdate', '1')");
else
{
// Visiteur ayant déjà chargé des pages dans la même minute ==> +1 sur le compteur
mysql_query("UPDATE ip SET cpt=cpt+1 WHERE ip='$Vip'");

// si limite atteinte (25 pages php/min) ajouter dans la table des ip interdites.
if ($Vcpt >= 35)
{
$jj=0;
$result = mysql_query("SELECT * FROM ip_bl");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{ if($row[2]==$Vip) $jj=1; }
mysql_free_result($result);

if($jj==0)
{
mysql_query("INSERT into ip_bl (id, ua, ip, date, cpt) values ('', '$Vua', '$Vip', '$Vdate', '$Vcpt')");

$msg = "HTTP_SERVER_VARS:\n<br><br>".$Vua ;
while (list ($key, $val) = each ($HTTP_SERVER_VARS)) $msg .= "$key => $val\n";
$msg = addslashes($msg);
eval("\$msg = \"$msg\";");
$msg = stripslashes($msg);
mail ("contac.web@laposte.net", "[IP Interdite] $Vip - $Vdate", $msg, "From: Timbres@france.com");
header('location:'.$_SESSION["adresse_site"]."aspirateur.html");
}
}
}
//========================mise à jour des stat=================================
//mise à zéro de la table IP et de la table VISITEUR en début de mois

if($s_mois<>$mois)
{
$sql='TRUNCATE table_ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql='TRUNCATE visiteur' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
//---------------------------------------------------------------------------------------------------

//lecture de la table des IP pour vérifier la presence ou non
$connu=0;
$result = mysql_query("SELECT * FROM table_ip");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($_SESSION['ip_visiteur']==trim($row[1]))
{
$connu=1; $ligip=$row[0];$pageip=$row[3]+1;

}
}



if($s_jour<>$jour)
{
$sql='TRUNCATE ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql='TRUNCATE robot' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql='TRUNCATE table_ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql='INSERT INTO visiteur VALUES ("","'.$dat.'","1","1","0","0","0","'.$jour.'","x","'.$mois.'","'.$s_jour.'","x")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());

$result = mysql_query("SELECT * FROM enchere");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if(trim($row[18])=="bl" && trim($row[3])<>"0000.gif") @unlink('../encheres/image-enchere/'.trim($row[3]));
}

//mise à jour de la table des records (pour le nombre de visiteurs)
$result = mysql_query("SELECT * FROM record");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{$visiteur=$row[8];$page=$page+$row[11];}
$visiteur=$visiteur+$visite;
$sql = 'UPDATE record SET visiteur = "'.$visiteur.'" WHERE id = "1"';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());

$sql = 'UPDATE record SET pagetot = "'.$page.'" WHERE id = "1"';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
Function notag($txt) { // Vire les balises
// ^ signifie "tout sauf"
// + signifie 1 car au moins
$pattern = "<[^>]+>";
// remplace par vide
return(ereg_replace($pattern,":",$txt));
}

Function notlg($txt) { // Vire fin de ligne
// ^ signifie "tout sauf"
// + signifie 1 car au moins
$pattern = "\r\n";
// remplace par vide
return(ereg_replace($pattern,":",$txt));
}

$fp = fopen($_SESSION['chemin']."admi/fic_collec.txt", "w");
$result = mysql_query("SELECT * FROM collec");
$nb = mysql_num_rows ($result);$a=0;
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{ $a++;$lig="";


$row[10] = notag($row[10]); $row[10] = notlg($row[10]);
$lig=implode("#",$row);
fwrite($fp,$lig);fwrite($fp,"\n");
}
mysql_free_result($result);
fclose($fp);



}// fin de if jour<>$$jour

if($s_jour==$jour)
{ $pageip=0;
if($connu==0)
{
$sql='INSERT INTO table_ip VALUES ("","'.$_SESSION['ip_visiteur'].'","'.$dat.'","'.$pageip.'","'.$UA.'")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());

$visite++;$page++;
$sql='REPLACE INTO visiteur VALUES ("'.$lig.'","'.$datevisite.'","'.$visite.'","'.$page.'","'.$inscrit.'","'.$eval.'","'.$payant.'","'.$jour.'","'.$memb.'","'.$mois.'","'.$jour_ancien.'","'.$mois_ancien.'")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
}

if($connu==1)
{
$page++;
$sql='REPLACE INTO visiteur VALUES ("'.$lig.'","'.$datevisite.'","'.$visite.'","'.$page.'","'.$inscrit.'","'.$eval.'","'.$payant.'","'.$jour.'","'.$memb.'","'.$mois.'","'.$jour_ancien.'","'.$mois_ancien.'")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());

$sql='REPLACE INTO table_ip VALUES ("'.$ligip.'","'.$_SESSION['ip_visiteur'].'","'.$dat.'","'.$pageip.'","'.$UA.'")';
mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());

}


} //fin de "if($s_jour==$jour)

} //fin de "if(pseu<>"crepy")

?>


Les premières erreurs
Notice: Undefined variable: HTTP_SERVER_VARS in C:\Program Files\EasyPHP-5.3.1\www\timbres VER2\conex.php on line 88

Notice: Undefined variable: HTTP_SERVER_VARS in C:\Program Files\EasyPHP-5.3.1\www\timbres VER2\conex.php on line 89

Warning: mysql_query() [function.mysql-query]: Accès refusé pour l'utilisateur: 'Utilisateur_Culturel'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP-5.3.1\www\timbres VER2\conex.php on line 92
Guppy71
guppy71
le 10/03/2010 à 13:54
configurer mysql
Bonjour,

J'ai un problème avec la nouvelle version de easyphp

jusque maintenant j'étais sous la version 1.8 et je suis passé à la version 5.3.1 mais j'ai un problème d'accès aux bases de données

lorsque je lance un site j'ai cette erreur

Warning: mysql_query() [function.mysql-query]: Accès refusé pour l'utilisateur: 'Utilisateur_Culturel'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP-5.3.1\www\timbres VER2\conex.php on line 99
---------------------------------
dans l'administration de mysql j'ai ça
* Host : 'localhost'
* Username : 'root'
* Password : '' (no password)
* Path to the database root (datadir) : C:\Program Files\EasyPHP-5.3.1\mysql\data\

------------------------------
dans mon script de connexion j'ai ça

//connection au serveur local
$cnx = mysql_connect("localhost", "root", "");
$db=mysql_select_db('timbres_ver2',$cnx);

Pouvez vous me dire ou se situe le problème

merci
Guppy71
guppy71
le 01/12/2009 à 16:21
problème de date
Bonjour

j'ai un problème avec le script suivant, je cherche à connaitre toutes les dates de plus d'un an dans des tables

<?php
if($supp_collec=='ok')
{
$dat=mktime(date("Y-m-d H:i:s"));
$dat=$dat-31539600; // moins 1 an
$sql = 'SHOW TABLES FROM timbre_collections';
$req = mysql_query($sql) or die ('Erreur sql : '.mysql_error());
while ($data = mysql_fetch_array($req, MYSQL_NUM))
{ $i++;$tab_collec[$i]=$data[0]; }

for($j=1;$j<$i+1;$j++)
{
$sql = 'SELECT date FROM timbre_collections.'.$tab_collec[$j].' WHERE id="1"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if (mktime($data[0]<$dat)) { echo($tab_collec[$j]);echo('<br>'); }


}
?>


Le mktime que je récupère dans if (mktime($data[0]<$dat) n'est pas cohérent par exemple j'ai dans ma table le date 2007-12-22 15:37:32 et je récupère le mktime suivant 1266848195

ou se situe mon erreur ?
merci
Guppy71
guppy71
le 11/06/2009 à 17:58
recherche l'erreur
Bonjour,

j'essais de charger une table à partir d'un fichier texte avec ce petit script

while (!feof($fp))
{
$buffer = fgets($fp, 20000); $mot=explode(" ",$buffer);

$num=@$mot[0];
$desi=@$mot[1];

j'ai tronqué le script

Quelqu'un pourrait il me dire ou se trouve l'erreur dans ceci

Erreur SQL !INSERT INTO collec VALUES (" "," 260 "," Mont St Michel ","A Mignon",".","1929-1931",".","brun","13","5 f",".","260.gif","x","45.00","25.00","0.80","Fernand Bivel","Yvert et Tellier",""Le Mont-Saint-Michel est une commune française, située dans le département de la Manche et la région Basse-Normandie. Elle tire

j'ai coupé le texte volontairement

l'existence de la forêt de Scissy relève du mythe."","att","257 II","40.00","25.00","0.90",".","0.00","0.00","0.00","260","260")
Erreur de syntaxe près de 'Le Mont-Saint-Michel est une commune française, située dans le d' à la ligne 1
Guppy71
guppy71
le 23/04/2009 à 11:29
Créer des liens en partant d'un script
Bonjour,
Je vais essayer d'être clair dans mes explications.

Voila, j'ai des pages qui sont crées depuis un certains temps. Ces page sont constituées en majorité par des images. Je voudrais ajouter un lien du style " detail_belgique.php?fic=189" pour chaque image sachant que je peux récupérer "189" à partir d'une table.
Comme je suis fainéant et que je n'ai pas trop envie de me retaper le lien image par image, ma question est :

est il possible d'écrire un script qui puisse mettre à jour toutes les pages (dans ma petite tête ça me parait compliqué, alors si vous avez déjà réalisé ce genre de truc je suis preneur)

Merci
Guppy71
LoadingChargement en cours