Analyse script php des requêtes


amrani13
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 315
Inscription: 18 Oct 2011

Analyse script php des requêtes

Message le Sam Jan 28, 2012 15:03

Bonjour, j'ai besoin de votre aide pour analyser un petit bout de code qui permet de récupérer la requête d'un internaute venant de google.
Ce code bloque ma page est affiche une page blanche, je pense qu'il y a une erreur mais je ne sais pas où...

Code: Tout sélectionner
$google_str = '/^http:\/\/www.google\.([a-z]{2,3})|(co\.[a-z]{2})\//i';

// Si le visiteur viens d'une page google
if ( preg_match( $google_str,$_SERVER['HTTP_REFERER']) ) {

   // on récupère la QUERY_STRING du REFERER
   $url_array = parse_url($_SERVER['HTTP_REFERER']);
   parse_str($url_array['query'],$variables);

   // les mots clé se trouvent dans la variable 'q'
   $keywords = urldecode($variables['q']);

   echo 'Vous venez de Google avec les mots clés suivant :' . $keywords;
}


Merci d'avance pour votre aide

EDIT: j'ai pas précisé qu'il s'agit d'un code que j'ai trouvé sur ce forum (2005 je crois)
Dernière édition par amrani13 le Sam Jan 28, 2012 15:27, édité 1 fois.


spout
WRInaute accro
WRInaute accro
 
Messages: 4376
Inscription: 14 Mai 2003

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 15:17

amrani13 a écrit:Ce code bloque ma page est affiche une page blanche

Ça c'est surement car le error_reporting est désactivé, si tu l'actives tu devrais voir l'erreur.


amrani13
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 315
Inscription: 18 Oct 2011

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 15:45

j'ai essayé de mettre error_reporting(E_ALL); et error_reporting(-1); mais j'ai toujours une page banche


amrani13
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 315
Inscription: 18 Oct 2011

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 15:49

Voici tout mon code:

Code: Tout sélectionner
<?php if (blablabla) {

$google_str = '/^http:\/\/www.google\.([a-z]{2,3})|(co\.[a-z]{2})\//i';

// Si le visiteur viens d'une page google
if ( preg_match( $google_str,$_SERVER['HTTP_REFERER']) ) {

 // on récupère la QUERY_STRING du REFERER
   $url_array = parse_url($_SERVER['HTTP_REFERER']);
   parse_str($url_array['query'],$variables);

   // les mots clé se trouvent dans la variable 'q'
   $keywords = urldecode($variables['q']);
?>

<p>Vous avez utilisez <b><?php $keywords; ?></b> pour tomber sur notre site</p>
<?php include ('blabla.php');
}

else {?>

<p>Vous n'avez pas fait de recherche sur google</p>
<?php include (blabla.php');

}
}
?>


amrani13
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 315
Inscription: 18 Oct 2011

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 17:35

Bon eh bien maintenant ça marche :D

Si je viens pas de google ça me dit 'vous n'avez pas fait de recherche sur google" mais si je viens de google ça me dit: "Vous avez utilisez pour tomber sur notre site"

Il manque la requête :(

EDIT; ca marche avec echo mais pas avec pas avec du php dans le html comme j'avais fais


zeb
WRInaute accro
WRInaute accro
 
Messages: 4514
Inscription: 5 Déc 2004

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 17:53

$google_str = '/^https{0,1}:\/\/www.google/i';

largement suffisant pour savoir si ça viens de google (le reste a droite est compliqué pour rien) "s{0,1}" au cas ou tu tombe sur un referer https.

<p>Vous avez utilisez <b><?php echo $keywords; ?></b> pour tomber sur notre site</p>

sans echo point de sortie vers le buffer apache


amrani13
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 315
Inscription: 18 Oct 2011

Re: Analyse script php des requêtes

Message le Sam Jan 28, 2012 18:04

merci zeb ;)

poulpe
WRInaute discret
WRInaute discret
 
Messages: 90
Inscription: 29 Juin 2004

Re: Analyse script php des requêtes

Message le Dim Jan 29, 2012 1:24

le buffer apache ? :)


zeb
WRInaute accro
WRInaute accro
 
Messages: 4514
Inscription: 5 Déc 2004

Re: Analyse script php des requêtes

Message le Dim Jan 29, 2012 10:15

php ecrit dans un buffer (une mémoire tampon) qui est un genre d'élément partagé avec apache. A la fin du traitement le buffer est envoiyé par apache vers le navigateur au travers de la conection.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité