Comment avoir le "?" avant le $QUERY_STRING ???

cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 15 févr. 2004 à 20:32
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 17 févr. 2004 à 19:40
Bonjour,

Le code suivant devrait me donner la page visitée par le visiteur, ce qui fonctionne...

Cependant, il devrait avoir un interrogation "?" avant le $QUERY_STRING sinon, ca ne se tient pas...

Alors comment fait-on pour qu'il y ait ce point d'interrogation AVANT le $QUERY_STRING ???

voici le code tel qu'il est présentement:

Page Visitée: [.$_SERVER[ $SERVER_NAME$PHP_SELF$QUERY_STRING]



cela devrait me donne un lien de type comme ceci:
http://monsite.com/lire.php?sujet=801

mais cela est plustôt comme ceci:
http://monsite.com/lire.phpsujet=801

vous voyez la différence ???

le premier nous mène quelque part et à la bonne place, c'est-à-dire au sujet 801

mais le deuxième nous mène à lire.php seulement

à cause que le point d'interrogation n'est PAS là

AU SECOURS !!!

12 réponses

perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
15 févr. 2004 à 21:05
essai avec
urldecode($_SERVER["QUERY_STRING"])

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
15 févr. 2004 à 21:12
Non, cela ne fonctionne pas :-(

à moins que j'ai fais une erreur

voici le code:

Page Visitée: [.$_SERVER[ $SERVER_NAME$PHP_SELF$QUERY_STRING]
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
16 févr. 2004 à 12:09
Je ne comprend pas pourquoi tu rajoute pas le ? dans ton url
comme ca!!!
print "
Page Visitée:

[.$_SERVER[HTTP_SERVER_NAME].$_SERVER[PHP_SELF].
$SERVER_NAME$PHP_SELF?$QUERY_STRING
]

";
chez moi ca me donne le bon lien
sauf $_SERVER[HTTP_SERVER_NAM]qui reste vide mais visiblement ca marche chez toi

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
16 févr. 2004 à 14:07
LOL

il manquait les "" avec le ?

je tournais donc encore une fois autour de la solution......

juste une chose...

maintenant, cela ajoute un ? à la fin de l'URL, même si il n'y a pas de $QUERY_STRING qui suit...

ca ne semble pas nuire, mais si on pouvait le mettre juste quand c'est nécessaire, ce serait l'apthéose

lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
17 févr. 2004 à 09:48
Ba!!! tu fais un if avec pour condition isset($_SERVER[QUERY_STRING])
ca donne donc:

print "Page Visitée:
[.$_SERVER[HTTP_SERVER_NAME].$_SERVER[PHP_SELF] $SERVER_NAME$PHP_SELF";
if (isset($_SERVER[QUERY_STRING]))
{
print "?$QUERY_STRING";
}
print "
]

";

ps : Ca doit marcher !!!

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
17 févr. 2004 à 14:22
non, dsl

il semble que la structure du code refuse ce type de condition...

le log refuse de fonctionner dès que je mets cet ajout...

voici la structure au niveau de l'impression (pas de print):

if (file_exists($fichier))
{
  $info_a_logger = "<visite>
<Date>Date:  ".$date."
</Date>
IP: ".$_SERVER['REMOTE_ADDR']."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER[ $SERVER_NAME$PHP_SELF?$QUERY_STRING]

<Host>Hôte:  ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur: ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>\r\n";
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
17 févr. 2004 à 14:33
si $info_a_logger est juste une variable alors essai avec:

if (file_exists($fichier))
{
 $info_a_logger =  "<visite>
 <Date> Date:   ".$date."
</Date>
 IP: ".$_SERVER[REMOTE_ADDR]."

 <Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
 Page Visitée: [.$_SERVER[HTTP_SERVER_NAME].$_SERVER[PHP_SELF];
 if (isset($_SERVER[QUERY_STRING]))
 {
  $info_a_logger. = $SERVER_NAME$PHP_SELF";
 if (isset($_SERVER[QUERY_STRING]))
 {
  $info_a_logger.="?$QUERY_STRING";
 }
 $info_a_logger.="]

 <Host>Hôte:  ".$_SERVER[REMOTE_HOST]."
</Host>
 
Navigateur: ".$_SERVER[HTTP_USER_AGENT]."<hr>
 </visite>\r\n";
}


---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
17 févr. 2004 à 15:44
non...
voici le script en son entier...
cela sera utile je crois...

<?php

// A modifier selon besoin
  $fichier =  $DOCUMENT_ROOT."/logs/logs_".Date("Y-m-d").".php";

// Traitement des variables
$date = date("Y-m-d H:i:s");

// Ecris le log dans le fichier
if (file_exists($fichier))
{
  $info_a_logger = "<visite>
<Date> Date:   ".$date."
</Date>
IP: ".$_SERVER['REMOTE_ADDR']."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER[ $SERVER_NAME$PHP_SELF?$QUERY_STRING]

<Host>Hôte:  ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur: ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>\r\n";

  $offset_fp  = filesize($fichier)-10;
  $fp = fopen($fichier, "r+");
  fseek($fp, $offset_fp); // place le pointeur de fichier
  $buffer = fread($fp, filesize($fichier)); // stocke les caractères du fichier à partir du pointeur de fichier
  fseek($fp, $offset_fp); // replace le pointeur de fichier
  fwrite($fp,$info_a_logger.$buffer); // ecris la nouvelle chaine + l'ancienne
  fclose($fp);
}
else
{ // Le fichier est d'abord créee
  $fp = fopen($fichier, "a");
  $info_a_logger = "<Semaine "".Date("Y-m-d")."">
<visite>
<Date>Date:  ".$date."
</Date>
IP:  ".$_SERVER['REMOTE_ADDR']."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER[ $SERVER_NAME$PHP_SELF?$QUERY_STRING]

<Host>Hôte:  ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur:  ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>
</Semaine>";
  fputs($fp, $info_a_logger);
  fclose($fp);
}
// Fin du traitement
echo "<!-- Merci de votre visite ! -->\n";
?>
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
17 févr. 2004 à 18:04
le code précédent ne marche pas ?????
essai avec

$info_a_logger =  "<visite>
<Date> Date:   ".$date."
</Date>
IP: ".$_SERVER[REMOTE_ADDR]."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER['HTTP_SERVER_NAME'].$_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger =$info_a_logger. $SERVER_NAME$PHP_SELF";
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger=$info_a_logger."?$QUERY_STRING";
}
$info_a_logger=$info_a_logger."]

<Host>Hôte:  ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur: ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>\r\n";


---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
17 févr. 2004 à 18:10
non, et toujours pas + avec ce dernier code :-(

regarde si il y aurait une erreur, virgule ou je sais pas quoi dans le code ci-dessous...
capricieux ce code et emmerdant... non ???

<?php

// A modifier selon besoin
  $fichier =  $DOCUMENT_ROOT."/logs/logs_".Date("Y-m-d").".php";

// Traitement des variables
$date = date("Y-m-d H:i:s");

// Ecris le log dans le fichier
if (file_exists($fichier))
{
  $info_a_logger = ""<visite>
<Date> Date:   ".$date."
</Date>
IP: ".$_SERVER[REMOTE_ADDR]."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER['HTTP_SERVER_NAME'].$_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger =$info_a_logger. $SERVER_NAME$PHP_SELF";
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger= $info_a_logger."?$QUERY_STRING";
}
$info_a_logger=$info_a_logger."]

<Host> Hôte:   ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur: ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>\r\n";

  $offset_fp  = filesize($fichier)-10;
  $fp =  fopen($fichier, "r+");
  fseek($fp, $offset_fp); // place le pointeur de fichier
  $buffer = fread($fp, filesize($fichier)); // stocke les caractères du fichier à partir du pointeur de fichier
  fseek($fp, $offset_fp); // replace le pointeur de fichier
  fwrite($fp,$info_a_logger.$buffer); // ecris la nouvelle chaine + l'ancienne
  fclose($fp);
}
else
{ // Le fichier est d'abord créee
  $fp = fopen($fichier, "a");
  $info_a_logger = "<Semaine "".Date("Y-m-d")."">
"<visite>
<Date> Date:   ".$date."
</Date>
IP: ".$_SERVER[REMOTE_ADDR]."

<Referer>Référence: [.$HTTP_REFERER. $HTTP_REFERER]
</Referer>
Page Visitée: [.$_SERVER['HTTP_SERVER_NAME'].$_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger =$info_a_logger. $SERVER_NAME$PHP_SELF";
if (isset($_SERVER['QUERY_STRING']))
{
$info_a_logger=$info_a_logger."?$QUERY_STRING";
}
$info_a_logger=$info_a_logger."]

<Host>Hôte:  ".$_SERVER['REMOTE_HOST']."
</Host>

Navigateur: ".$_SERVER['HTTP_USER_AGENT']."<hr>
</visite>
</Semaine>";
  fputs($fp, $info_a_logger);
  fclose($fp);
}
// Fin du traitement
echo "<!-- Merci de votre visite ! -->\n";
?>
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
17 févr. 2004 à 19:07
1er ligne du code que je t passé t'as mis 2x"
c'est pt étre ca

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
17 févr. 2004 à 19:40
ca change rien, il y a autre chose... :-s

J'abandonne, de toute façon ca fonctionne sans erreurs même avec le ? quand ce n'est pas requis...

je voulais juste faire ca propre, mais bon, il ya des limites à s'arracher les cheveux quand on en a plus !

Tu peux continuer si tu insistes, mais moi je dois continuer mon travail routinier...

Merci !

@+++
0
Rejoignez-nous