Code
if ( preg_match( "!^http://[^/]+\.google\.[^/]+/search.+q=([^&]+)!i", $_SERVER['HTTP_REFERER'], $ref ) ) {
$mots = utf8_decode( urldecode($ref[1]) );
put_keyw( $mots, '1' );
$mots = utf8_decode( urldecode($ref[1]) );
put_keyw( $mots, '1' );
En fait le paramètre q= est mal codé, car il ne récupère pas forcément la bonne variable.
Par exemple, google me marque l'adresse suivante : http://www.google.fr/search?q=je+cherche&a...lient=firefox-a
Et takey.php va récupérer la variable t (aq=t) au lieu de je+cherche (q=je+cherche).
N'étant pas familiarisé du tout avec les expressions régulières, je vous soumets le problème.