Script php 3 -> php 5
Résolu
wroom69
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
wroom69 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
wroom69 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un script qui commence à dater (2000) qui se nomme compteur intelligent et trouvé sur comscript.
C'est pour récupérer les adresses IP des visiteurs dans un fichier texte. C'est en php3.
Il y a 4 fichiers
Je travail sur un site d'annonces (qui n'a pas l'option de récupérer l'IP)en local avec joomla 3.3.6. J'ai installé les fichiers pour voir les warning.
Notice: Undefined variable: REMOTE_ADDR in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 19
Warning: gethostbyaddr(): Address is not a valid IPv4 or IPv6 address in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 19
Notice: Undefined variable: HTTP_REFERER in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 21
Notice: Undefined variable: REMOTE_ADDR in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 29
Notice: Undefined variable: HTTP_USER_AGENT in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 36
Les lignes concernées
Ne peut on pas modifier ces lignes en langage php 5 afin de faire fonctionner ce code ?
J'ai un script qui commence à dater (2000) qui se nomme compteur intelligent et trouvé sur comscript.
C'est pour récupérer les adresses IP des visiteurs dans un fichier texte. C'est en php3.
Il y a 4 fichiers
- page.php3
- visites.php3
- nombre.txt
- agent_ip_date_lien.txt
Je travail sur un site d'annonces (qui n'a pas l'option de récupérer l'IP)en local avec joomla 3.3.6. J'ai installé les fichiers pour voir les warning.
Notice: Undefined variable: REMOTE_ADDR in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 19
Warning: gethostbyaddr(): Address is not a valid IPv4 or IPv6 address in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 19
Notice: Undefined variable: HTTP_REFERER in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 21
Notice: Undefined variable: REMOTE_ADDR in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 29
Notice: Undefined variable: HTTP_USER_AGENT in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 36
Les lignes concernées
- ligne 19 ->$adresse_dns = gethostbyaddr('REMOTE_ADDR');
- ligne 21 ->$ref = "$HTTP_REFERER";
- ligne 29 ->fputs($fp, "$REMOTE_ADDR");
- ligne 36 ->fputs($fp,"$HTTP_USER_AGENT");
Ne peut on pas modifier ces lignes en langage php 5 afin de faire fonctionner ce code ?
A voir également:
- Script php 3 -> php 5
- Script vidéo youtube - Guide
- Expert php pinterest - Télécharger - Langages
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Mas script - Accueil - Windows
3 réponses
il faut utiliser les variables globales $_*
$HTTP_REFERER -> $_SERVER['HTTP_REFERER']
par exemple, fais un print_r sur ces quelques variables :
$_SERVER, $_REQUEST, $_POST, $_GET, ...
Et regardes la doc à leur sujet.
$HTTP_REFERER -> $_SERVER['HTTP_REFERER']
par exemple, fais un print_r sur ces quelques variables :
$_SERVER, $_REQUEST, $_POST, $_GET, ...
Et regardes la doc à leur sujet.
Bonjour,
Oups c'est dur pour moi, je n'ai pas assez de connaissances.
La ligne 19 j'ai mis -> $adresse_dns = gethostbyaddr ( $_SERVER [ 'REMOTE_ADDR']);
la ligne 21 $ref = $_SERVER['HTTP_REFERER'];
La j'ai un message d'erreur
Notice: Undefined index: HTTP_REFERER in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 21
la ligne 29 -> fputs($fp,$_SERVER [ 'REMOTE_ADDR']);
la ligne 36 -> fputs($fp,$_SERVER [ 'HTTP_USER_AGENT' ]);
Oups c'est dur pour moi, je n'ai pas assez de connaissances.
La ligne 19 j'ai mis -> $adresse_dns = gethostbyaddr ( $_SERVER [ 'REMOTE_ADDR']);
la ligne 21 $ref = $_SERVER['HTTP_REFERER'];
La j'ai un message d'erreur
Notice: Undefined index: HTTP_REFERER in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\petanque\page.php on line 21
la ligne 29 -> fputs($fp,$_SERVER [ 'REMOTE_ADDR']);
la ligne 36 -> fputs($fp,$_SERVER [ 'HTTP_USER_AGENT' ]);
'lut, le script n'est pas bien fait: il ne gère pas l'absence de header HTTP
Met donc un test ternaire pour mettre
Ou, plus court, en PHP 5.3+
Referer, qui peut être légitimement absent (accès direct à la page) ou volontairement supprimé (comme moi qui utilise une extension Firefox pour le virer; tracking toussa toussa...).
Met donc un test ternaire pour mettre
$refà "" en l'absence du header:
$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "";
Ou, plus court, en PHP 5.3+
$ref = $_SERVER['HTTP_REFERER'] ?: "";