spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 2009
-
24 avril 2006 à 18:30
cs_kymm
Messages postés6Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 4 mars 2008
-
4 mars 2008 à 17:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_kymm
Messages postés6Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 4 mars 2008 4 mars 2008 à 17:38
Pour les webmasters qui le désirent, je fournis un script PHP sur mon site Internet http://www.WeLive.fr dans la rubrique Géolocalisation par IP.
Le script PHP vous retourne les informations sous forme de variables PHP : Pays, Drapeau du pays, Région-Département-Code Postal pour la France, Ville.
Celui-ci nécessite une inscription préalable aux fins d'éviter que n'importe qui l'utilise.
A bientôt
WeLive.fr
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 15:40
pour la localisation du visiteur, faut faire un whois sur son ip, mais on n'a aucune précision, et aucune certitude...
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 26 avril 2006 à 15:04
<script type="text/javascript">
<!--
//******************************************************************************
// Création d' un element div ( Merci à Coucou747 )
//******************************************************************************
var box = document.createElement('div');
document.body.appendChild(box);// On envoie le tout
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
box.innerHTML = 'Votre résolution est de ' + screen.width + ' X ' + screen.height + '.
';
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
box.innerHTML += 'Plug-ins installés ( ' + nbplugin + ' ) :
';
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
box.innerHTML += '
' + navigator.plugins[i].name + '
';
}
}else{
box.innerHTML += 'Il n\' y a aucun plug-ins installé.
';
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(IsSet($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 26 avril 2006 à 15:03
Salut,
>> Malalam <<
"Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
-ah bon? La balise strong n'accepte pas de css...?"
>> Si mais l' épaisseur du Gras nan je préfère utiliser un span et lui donner un style avec une feuille de style ;-)
"C' est pour être sur de trouver l' ip on essaie plusieur possiblité jusqu'a trouvé l' ip.
- mais getenv () renvoie une variable d'environnement. $_SERVER contient des variables d'environnement...y a rien qui te choque ?"
>> getenv est disponnible depuis la version 3 de php alors que getenv n' est dispo que depuis la version 4. C' était en partie une question de portabilité ;-)
J' ai viré les getenv et j' ai tout transformé en $_SERVER
"Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
=> Déprécié quand même, et en html 4 en plus : http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT"
>> C' est bon j' ai viré language="JavaScript" à contre coeur.
"strpos renvoie un entier ou false, strstr renvoie une chaîne (et l'extirpe, avant). M'est avis que c'est plus lent. En plus, tu n'as pas besoin de cette chaîne, mais juste de savoir si une chaîne est présente dans une autre."
>> Exacte 20/20 ;-)
>> Aquewel <<
Pour la localisation du visiteur aucune idée.
Voilà le code
aquewel
Messages postés143Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 juin 2010 26 avril 2006 à 13:40
aussi ce qu'il seait interessant c'est de localiser le visiteur ! on peut le faire ca ?
Trouver son pays et si il est francais trouver sa région ! Ca c'est cool :-)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 13:08
c'était une simple curiosité... j'aime bien le tcl, mais je ne maitrise pas asez bien pour expérimenter sur une page web en faisant un truc interessant... et si ça ne marche pas sou IE, alors aucun interet.... je serais déja franchement étoné que ça marche sous mozilla... je testerais quand j'aurais le temps (mardi prochain, j'ai le concours prologin à préparer avant)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 26 avril 2006 à 13:03
Coucou => je n'ai jamais essayé. Mais j'en doute fort...d'un côté, il y a les recommendations du consortium, de l'autre, la réalité du terrain ;-) Mais ça vaut le coup d'essayer!
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 12:37
malalam, sur ton lien, le w3c dit qu'on peut faire du tcl sur une page web, j'ai jamais testé, mais ça marche partout ??? même sous IE ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 26 avril 2006 à 12:28
Immortal =>
>> Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
=> ah bon? La balise strong n'accepte pas de css...?
>> C' est pour être sur de trouver l' ipôn essaie plusieur possiblité jusqu'a trouvé l' ip.
=> mais getenv () renvoie une variable d'environnement. $_SERVER contient des variables d'environnement...y a rien qui te choque ?
>> Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
=> Déprécié quand même, et en html 4 en plus : http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
>> Pour le peu de mise en forme qu' il y a je vois pas ce que je peux mettre en style en plus.
=> mea culpa, j'ai mal lu ton code
>> Absolument ;-)
Mais comment tu l' as dit plus haut, getenv () ne fonctionne pas sur certains serveurs (dont IIS).
=> voili voili... :-) Déjà répondu.
strpos renvoie un entier ou false, strstr renvoie une chaîne (et l'extirpe, avant). M'est avis que c'est plus lent. En plus, tu n'as pas besoin de cette chaîne, mais juste de savoir si une chaîne est présente dans une autre.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 12:26
<script type="text/javascript">
var box = document.createElement("div");
box.textContent="mon super texte dans la super div";
document.body.appendChild(box);
</script>
</html>
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 26 avril 2006 à 12:15
Salut,
t' as pas compris, comment mettre "salut ça va ?" dans entre les balise div ??
ex:
salut, ça va ?
++
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 11:34
et bien le dom, c'est ma méthode :)
c'est ce qui marche en xul, ça revient à manipuler ton document comme php manipule un xml...
c'est l'ensemble des fonctions :
insertBefore, createElement, setAtribute, getAtribute, appendChild... t'en as aussi pour supprimer un élément, et pour faire plein de choses avec... on s'en sert très souvent pour les listes déroulantes (<select>), en xul, on n'a que ça... document.write ne marche pas, et innerHTML non plus...
et bien pour insérer du contenu dans ma dic, tu fais exactement comme ce que j'ai fais...
var box = document.createElement("div");
box.setAttribute("id","monid");
document.body.appendChild(box);
var image = document.createElement("img");
image.setAttribute("src","url");
box.appendChild(image);
on peut ajouter autre chose qu'une image, on peut tout ajouter... l'avantage, c'est qu'on aura pas d'erreur de validation xhtml, mais le désavantage, c'est que le référencement ne sera pas bon pour les liens insérés grace à cette méthode, mais bon, pour afficher une interface pour un player mp3, je penses que le référencement du player n'est pas important...
va voir ma source ou je montre un cahier de rdv en xul (ou un agenda, comme vous voulez) t'as des "bons" exemples de dom dans les deux fichiers
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 26 avril 2006 à 11:20
Salut,
>> Malalam <<
"je ne pige pas le style Gras. Pourquoi faire ? Quand on a une balise ? Vu la mise en page, c'est inutile."
>> Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
http://wiki.media-box.net/documentation/css/font-weight
"à moins qu'un truc ne m'échappe, je ne vois tjrs pas l'intérêt de getenv ()."
>> C' est pour être sur de trouver l' ipôn essaie plusieur possiblité jusqu'a trouvé l' ip.
"l'attribut language pour la balise script est déprécié."
>> Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
"document.write () est horrible (enfin, à mon avis hein...je ne suis pas un spécialise du JS ;-) ). Javascript est un langage fortement orienté DOM, quand même...il y a des façons plus élégantes de faire. On fout le html d'un côté, le js de l'autre, le php pour arbitrer... ;-) Bref, plus DOM pour js... :-)"
>> 2 Questions :
- En quoi document.write () est horrible ??
- C' est quoi DOM ?
"t'as commencé à sortir les styles, dommage que tu te sois arrêté en route ?"
>> Pour le peu de mise en forme qu' il y a je vois pas ce que je peux mettre en style en plus.
"if(function_exists('getenv'))...mouais. getenv() est dispo depuis php3, ne nécessite aucune installation particulière, aucune extension, et est standard par défaut. Manquerait plus qu'on fasse des function_exists () sur tout ce qui bouge! ;-)"
>> Absolument ;-)
Mais comment tu l' as dit plus haut, getenv () ne fonctionne pas sur certains serveurs (dont IIS).
"la boucle sur strchr est lourde. D'une part, strchr est un alias de strstr, alors je me demande pourquoi tu choisis strchr, mais bon...ensuite, strpos sera sans doute plus rapide. Pi là il est trop tôt, mais je pense que tu peux largement alléger cette partie :-)"
>> Je ne savais pas que strpos était plus rapide que strchr.
Je corrige ça de suite ;-)
Je ne vois pas comment je puis plus allèger cette partie !
Foreach et pourtant plus rapide que :
while(list($cle,$val) = each($array)){.....}
>> Coucou747 <<
J' ai essayé d' intégré ton code :
var box = document.createElement("div");
box.setAttribute("id","monid");
document.body.appendChild(box);
Mais comment ajout on ce qui doit être entre les balises
<script language="JavaScript" type="text/javascript">
<!--
//******************************************************************************
// Création d' un element div ( Merci à Coucou747 )
//******************************************************************************
var box = document.createElement('div');
document.body.appendChild(box);
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
box.innerHTML = 'Votre résolution est de ' + screen.width + ' X ' + screen.height + '.
';
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
box.innerHTML += 'Plug-ins installés ( ' + nbplugin + ' ) :
';
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
box.innerHTML += '
' + navigator.plugins[i].name + '
';
}
}else{
box.innerHTML += 'Il n\' y a aucun plug-ins installé.
';
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(function_exists('getenv')){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
@+ ( une note lol )
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 26 avril 2006 à 09:51
var box = document.createElement("div");
box.setAttribute("id","monid");
document.body.appendChild(box);
voilà comment on peut ajouter une div en javascript, de manière propre.... sinon, il y a les innerHTML, mais ça reste relativement crade (et ne marche pas en XUL...)
pour Sannazzarotiti : en js, tu regardes si le gars à un cookie qui dit si il veut de la musique ou non, si il ne l'a pas : vérifies que le gars a le plugin, si il l'a, alors tu mets un if confirm pour savoir si il veut la musique, si il en veut, alors tu ajoutes ton interface de gestion de musique, et tu démare la musique, et tu met dans un cookie qu'il veut de la musique. Et si le gars a le cookie, alors tu replace toute ton interface...
selon moi, c'est meilleur car tu n'as pas de rechargement de page...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 26 avril 2006 à 07:19
Bon moi je commente celui d'Immortal, puisqu'il est exposé aux débutants :-)
- je ne pige pas le style Gras. Pourquoi faire ? Quand on a une balise ? Vu la mise en page, c'est inutile.
- à moins qu'un truc ne m'échappe, je ne vois tjrs pas l'intérêt de getenv ().
- l'attribut language pour la balise script est déprécié.
- document.write () est horrible (enfin, à mon avis hein...je ne suis pas un spécialise du JS ;-) ). Javascript est un langage fortement orienté DOM, quand même...il y a des façons plus élégantes de faire. On fout le html d'un côté, le js de l'autre, le php pour arbitrer... ;-) Bref, plus DOM pour js... :-)
- t'as commencé à sortir les styles, dommage que tu te sois arrêté en route ?
- if(function_exists('getenv'))...mouais. getenv() est dispo depuis php3, ne nécessite aucune installation particulière, aucune extension, et est standard par défaut. Manquerait plus qu'on fasse des function_exists () sur tout ce qui bouge! ;-)
- la boucle sur strchr est lourde. D'une part, strchr est un alias de strstr, alors je me demande pourquoi tu choisis strchr, mais bon...ensuite, strpos sera sans doute plus rapide. Pi là il est trop tôt, mais je pense que tu peux largement alléger cette partie :-)
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 20:28
Lors de la premiere visite, un message apparait et demande si il veut la musique. Il peut l'enlever quand il veut ce qui ne gene en rien la navigation. Ca sert de "bonus".
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 25 avril 2006 à 20:26
selon moi, publier une page qui nécéssite des plugins particuliers nuit au référencement et à la disponibilitée, et pour ce qui est de la résolution, autant charger un css à la volée en javascript pour que le site passe corectement avec la résolution choisie...
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 18:35
Niveau code je peut pas trop juger. Pour les site (comme le mien) qui mette des video ou des musique, a savoir si il possede le plug-ins necessaire. IL peut y avoir d'autre fonction utile je pensse.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 25 avril 2006 à 18:32
Moi j'ose même pas commenter le code :p
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 avril 2006 à 16:50
>> C' est pour ça qu' il y a des if ^^.
Ben ouais, mais dans ce cas, ça sert à quoi, à part à alourdir le code...?
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 16:25
cool, voila qui est mieu
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 25 avril 2006 à 16:16
Salut,
Malalam => "getenv () ne fonctionne pas sur certaine serveurs (dont IIS); autant éviter de l'utiliser donc."
>> C' est pour ça qu' il y a des if ^^.
Je regarde si l' ip est stocké dans la variable, si oui je donne une valeur à $ip sinon je passe à la condition suivante.
J' ai réécrit le code en donnant le nom du navigateur, les plug-ins installés :
<script language="JavaScript" type="text/javascript">
<!--
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
document.write('Votre résolution est de '+screen.width+' X '+screen.height+'.
');
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
document.write('Plug-ins installés ( ' + nbplugin + ' ) :
');
document.write('');
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
document.write('<li>' + navigator.plugins[i].name + '</li>');
if(i == nbplugin-1){
document.write('');
}
}
}else{
document.write('Il n\' y a aucun plug-ins installé.
');
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(function_exists('getenv')){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 15:12
chez moi il y a pas de probleme. Bonne chance
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 25 avril 2006 à 15:10
Pour le nombre de plug-ins, ça marche, mais pas pour le nom des plug-ins
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 14:36
Sa donnerait un vréritable interet a ta source. pour les plug-in (j'ai bien ecrit) le code est deja fait
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 25 avril 2006 à 14:34
Je sais pas si j'aurais le temps de le faire, mais je vais essayer ;)
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 14:32
oui je me comprend, (jamais reussi a l'ecrire). Sinon tu pensse pourvoir l'ameliorer?
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 25 avril 2006 à 14:30
C'est plug-in et pas pudding, c'est pour ça que je faisais cette remarque ^^
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 14:18
ensuite, aussi tu pourait faire un truc qui donne sa comme resultat:
Hauteur : 1024
Largeur : 1280
Profondeur de Couleurs : 32
Profondeur de Pixels : 32
Hauteur disponible : 994
Largeur disponible : 1280
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 14:17
les puddings installer sur l'ordi(sa parait logique)
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 25 avril 2006 à 14:16
Mais sinon, merci de vos commentaires et de votre aide.
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 25 avril 2006 à 14:15
Les puddings installés ? Installés où ? Dans mon assiette ? :D
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 25 avril 2006 à 12:31
Je suis sur que l'on peut rajouter des choses (comme les codecs installés, le systeme d'exploitation, le langage utiliser ). J'ai trouver sa dans un livre javascript:
<script language="JavaScript"><!--
var nbplugin = navigator.plugins.length;
// La variable contient le nombre de plug-ins installés
var win = window.open
("","Plugins","width=400,height=350,resizeable,scrollbars=yes");
//Ouverture d'une fenêtre pour la liste des plug-ins
var i = -1;
win.document.write("Les plug-ins installés :
");
win.document.write("Nombre de plug-ins :" + nbplugin +
"
");
// Le nombre es plug-ins est affiché
// dans la fenêtre
while (i < nbplugin)
{
i++;
win.document.write(navigator.plugins[i].name + "
");
// Affichage des noms des plug-ins
}
// --></script>
Ce code affiche dans une popup tous les puddings installer (il n'est pas de moi je le repete). Tu pourait t'en inspirer pour améliorer ta sources.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 avril 2006 à 11:15
Immortal => getenv () ne fonctionne pas sur certaine serveurs (dont IIS); autant éviter de l'utiliser donc.
Wizad => je ne trouve pas ça très bien codé, justement, comme je l'ai dit (enfin, je parle surtout du html, vu le peu de php...peu qui est correct, néanmoins!) L'attribut onload est déprécié, par exemple...ennuyeux pour cet exemple. D'autant plus qu'on peut s'en passer, en virant la fonction, par exemple : on lance le javascript séquentiellement.
Quant à "l'autre" méthode pour récupérer des variables js en php, il n'y en a pas : enfin en tous cas, il y a une nécessité, qui est utilisée ici d'une manière (il y en a d'autres, là, par contre) : celle de repasser par le serveur. Ici, on poste un formulaire en POST. Ok. On peut le faire en GET, on peut se passer d'un formulaire et requêter la page directement avec des requêtes xmlhttp...etc.
cs_wizad
Messages postés355Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention14 avril 2009 25 avril 2006 à 11:01
je trouve personnelement que le code original (pour répondre à ImmortalPC) reste intérréssant puisque présentant une technique correct pour récupérer la résolution du visiteur et la traiter dans du php (statistique, redimensionnement des images,... tout est possible). Il est vrai que l'exemple en lui même ne nécessiterai pas la récupération dans des variables php. Mais cela reste un exemple clair d'une méthode comme une autre (je cherche toujours l'autre ^^).
"- je trouve que c'est franchement léger comme code, d'une manière générale, mais bon..." (malalam) C'est vrai mais les exemple les plus simple sont parfois les meilleurs à condition qu'ils soient BIEN CODé!! ;-)
Sur ceux pense à intégréles correction d'html d'ImmortlPC voir de dévelloper un peu la partie PHP (meilleur traitement des informations fournient par $_SERVER['HTTP_USER_AGENT']).
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 25 avril 2006 à 10:02
Salut,
Je suis tout à fait d' accord avec Malalam.
Voilà le code refait sans formulaire et aux normmes xhtml 1.0 ( j'avais la flèmme de chercher le DTD XHTML 1.1 :p)
<script language="JavaScript" type="text/javascript">
<!--
document.write('Votre résolution est de '+screen.width+' X '+screen.height+'.
');
//-->
</script>
<?php
// on prend l'ip de la meilleure manière qu'il soit
function get_ip(){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
}else{
$ip = getenv('REMOTE_ADDR');
}
return $ip;
}
echo 'Votre navigateur est ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',get_ip(),'.';
?>
</html>
@+
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 25 avril 2006 à 09:05
Hello,
eh beh, moi qui comptait effacer ce code...si il plait, il reste.
Néanmoins, je fais mes critiques :
- le html n'est pas terrible, autant le revoir pour être plus aux normes.
- pourquoi passer par la soumission d'un formulaire pour récupérer la résolution dans une variable php...??? Puisque tu dois utiliser du javascript, pourquoi n'utilises-tu pas QUE du javascript...? Ca éviterait une soumission.
- je trouve que c'est franchement léger comme code, d'une manière générale, mais bon...
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 25 avril 2006 à 08:49
J'avais justement besoin d'un petit code comme celui-çi! Merci spidermario
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 24 avril 2006 à 18:30
4 mars 2008 à 17:38
Le script PHP vous retourne les informations sous forme de variables PHP : Pays, Drapeau du pays, Région-Département-Code Postal pour la France, Ville.
Celui-ci nécessite une inscription préalable aux fins d'éviter que n'importe qui l'utilise.
A bientôt
WeLive.fr
26 avril 2006 à 15:40
26 avril 2006 à 15:04
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Vos informations</title>
<style type="text/css" media="screen">
<!--
.Gras {
font-weight: bolder;
}
.marge_plug_ins {
margin-left: 25px;
}
-->
</style>
</head>
<script type="text/javascript">
<!--
//******************************************************************************
// Création d' un element div ( Merci à Coucou747 )
//******************************************************************************
var box = document.createElement('div');
document.body.appendChild(box);// On envoie le tout
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
box.innerHTML = 'Votre résolution est de ' + screen.width + ' X ' + screen.height + '.
';
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
box.innerHTML += 'Plug-ins installés ( ' + nbplugin + ' ) :
';
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
box.innerHTML += '
' + navigator.plugins[i].name + '
';
}
}else{
box.innerHTML += 'Il n\' y a aucun plug-ins installé.
';
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(IsSet($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif(IsSet($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
//******************************************************************************
// Navigateur
//******************************************************************************
$nav = 'Inconnu';
$browser = array('Internet Explorer'=>'MSIE', 'Firefox', 'Mozilla', 'Netscape', 'Safari', 'Konqueror', 'Epiphany', 'Lynx', 'Opera');
foreach($browser as $cle => $val){
if(strpos($_SERVER['HTTP_USER_AGENT'], $val)){
if(is_numeric($cle)){
$nav = $val;
}else{
$nav = $cle;
}
break;
}
}
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
26 avril 2006 à 15:03
>> Malalam <<
"Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
-ah bon? La balise strong n'accepte pas de css...?"
>> Si mais l' épaisseur du Gras nan je préfère utiliser un span et lui donner un style avec une feuille de style ;-)
"C' est pour être sur de trouver l' ip on essaie plusieur possiblité jusqu'a trouvé l' ip.
- mais getenv () renvoie une variable d'environnement. $_SERVER contient des variables d'environnement...y a rien qui te choque ?"
>> getenv est disponnible depuis la version 3 de php alors que getenv n' est dispo que depuis la version 4. C' était en partie une question de portabilité ;-)
J' ai viré les getenv et j' ai tout transformé en $_SERVER
"Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
=> Déprécié quand même, et en html 4 en plus : http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT"
>> C' est bon j' ai viré language="JavaScript" à contre coeur.
"strpos renvoie un entier ou false, strstr renvoie une chaîne (et l'extirpe, avant). M'est avis que c'est plus lent. En plus, tu n'as pas besoin de cette chaîne, mais juste de savoir si une chaîne est présente dans une autre."
>> Exacte 20/20 ;-)
>> Aquewel <<
Pour la localisation du visiteur aucune idée.
Voilà le code
26 avril 2006 à 13:40
Trouver son pays et si il est francais trouver sa région ! Ca c'est cool :-)
26 avril 2006 à 13:08
26 avril 2006 à 13:03
26 avril 2006 à 12:37
26 avril 2006 à 12:28
>> Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
=> ah bon? La balise strong n'accepte pas de css...?
>> C' est pour être sur de trouver l' ipôn essaie plusieur possiblité jusqu'a trouvé l' ip.
=> mais getenv () renvoie une variable d'environnement. $_SERVER contient des variables d'environnement...y a rien qui te choque ?
>> Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
=> Déprécié quand même, et en html 4 en plus : http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
>>DOM
=> Coucou a très bien répondu. C'est aussi ce que je fais, autant que possible. Et DOM, c'est quand même peu ou prou la base du web ;-)
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/
>> Pour le peu de mise en forme qu' il y a je vois pas ce que je peux mettre en style en plus.
=> mea culpa, j'ai mal lu ton code
>> Absolument ;-)
Mais comment tu l' as dit plus haut, getenv () ne fonctionne pas sur certains serveurs (dont IIS).
=> voili voili... :-) Déjà répondu.
strpos renvoie un entier ou false, strstr renvoie une chaîne (et l'extirpe, avant). M'est avis que c'est plus lent. En plus, tu n'as pas besoin de cette chaîne, mais juste de savoir si une chaîne est présente dans une autre.
26 avril 2006 à 12:26
<html>
<script type="text/javascript">
var box = document.createElement("div");
box.textContent="mon super texte dans la super div";
document.body.appendChild(box);
</script>
</html>
26 avril 2006 à 12:15
t' as pas compris, comment mettre "salut ça va ?" dans entre les balise div ??
ex:
salut, ça va ?
++
26 avril 2006 à 11:34
c'est ce qui marche en xul, ça revient à manipuler ton document comme php manipule un xml...
c'est l'ensemble des fonctions :
insertBefore, createElement, setAtribute, getAtribute, appendChild... t'en as aussi pour supprimer un élément, et pour faire plein de choses avec... on s'en sert très souvent pour les listes déroulantes (<select>), en xul, on n'a que ça... document.write ne marche pas, et innerHTML non plus...
et bien pour insérer du contenu dans ma dic, tu fais exactement comme ce que j'ai fais...
var box = document.createElement("div");
box.setAttribute("id","monid");
document.body.appendChild(box);
var image = document.createElement("img");
image.setAttribute("src","url");
box.appendChild(image);
on peut ajouter autre chose qu'une image, on peut tout ajouter... l'avantage, c'est qu'on aura pas d'erreur de validation xhtml, mais le désavantage, c'est que le référencement ne sera pas bon pour les liens insérés grace à cette méthode, mais bon, pour afficher une interface pour un player mp3, je penses que le référencement du player n'est pas important...
va voir ma source ou je montre un cahier de rdv en xul (ou un agenda, comme vous voulez) t'as des "bons" exemples de dom dans les deux fichiers
26 avril 2006 à 11:20
>> Malalam <<
"je ne pige pas le style Gras. Pourquoi faire ? Quand on a une balise ? Vu la mise en page, c'est inutile."
>> Car la balise ne laisse pas le choix d' ajustement de l' épaisseur
http://wiki.media-box.net/documentation/css/font-weight
"à moins qu'un truc ne m'échappe, je ne vois tjrs pas l'intérêt de getenv ()."
>> C' est pour être sur de trouver l' ipôn essaie plusieur possiblité jusqu'a trouvé l' ip.
"l'attribut language pour la balise script est déprécié."
>> Oups, je savais pas. Pourtant mes page codé en XHTML 1.0 passe sans problème.
Et il ne faut pas oublié que l' on peut utlisé la balise <script> pour faire du php et du vb (je crois).
"document.write () est horrible (enfin, à mon avis hein...je ne suis pas un spécialise du JS ;-) ). Javascript est un langage fortement orienté DOM, quand même...il y a des façons plus élégantes de faire. On fout le html d'un côté, le js de l'autre, le php pour arbitrer... ;-) Bref, plus DOM pour js... :-)"
>> 2 Questions :
- En quoi document.write () est horrible ??
- C' est quoi DOM ?
"t'as commencé à sortir les styles, dommage que tu te sois arrêté en route ?"
>> Pour le peu de mise en forme qu' il y a je vois pas ce que je peux mettre en style en plus.
"if(function_exists('getenv'))...mouais. getenv() est dispo depuis php3, ne nécessite aucune installation particulière, aucune extension, et est standard par défaut. Manquerait plus qu'on fasse des function_exists () sur tout ce qui bouge! ;-)"
>> Absolument ;-)
Mais comment tu l' as dit plus haut, getenv () ne fonctionne pas sur certains serveurs (dont IIS).
"la boucle sur strchr est lourde. D'une part, strchr est un alias de strstr, alors je me demande pourquoi tu choisis strchr, mais bon...ensuite, strpos sera sans doute plus rapide. Pi là il est trop tôt, mais je pense que tu peux largement alléger cette partie :-)"
>> Je ne savais pas que strpos était plus rapide que strchr.
Je corrige ça de suite ;-)
Je ne vois pas comment je puis plus allèger cette partie !
Foreach et pourtant plus rapide que :
while(list($cle,$val) = each($array)){.....}
>> Coucou747 <<
J' ai essayé d' intégré ton code :
var box = document.createElement("div");
box.setAttribute("id","monid");
document.body.appendChild(box);
Mais comment ajout on ce qui doit être entre les balises
sans innerHTML ???
Voilà le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Vos informations</title>
<style type="text/css" media="screen">
<!--
.Gras {
font-weight: bolder;
}
.marge_plug_ins {
margin-left: 25px;
}
//-->
</style>
</head>
<script language="JavaScript" type="text/javascript">
<!--
//******************************************************************************
// Création d' un element div ( Merci à Coucou747 )
//******************************************************************************
var box = document.createElement('div');
document.body.appendChild(box);
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
box.innerHTML = 'Votre résolution est de ' + screen.width + ' X ' + screen.height + '.
';
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
box.innerHTML += 'Plug-ins installés ( ' + nbplugin + ' ) :
';
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
box.innerHTML += '
' + navigator.plugins[i].name + '
';
}
}else{
box.innerHTML += 'Il n\' y a aucun plug-ins installé.
';
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(function_exists('getenv')){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}elseif($_SERVER['REMOTE_ADDR']){
$ip = $_SERVER['REMOTE_ADDR'];
}else{
$ip = getenv('REMOTE_ADDR');
}
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
//******************************************************************************
// Navigateur
//******************************************************************************
$nav = 'Inconnu';
$browser = array('Internet Explorer'=>'MSIE', 'Firefox', 'Mozilla', 'Netscape', 'Safari', 'Konqueror', 'Epiphany', 'Lynx', 'Opera');
foreach($browser as $cle => $val){
if(strpos($_SERVER['HTTP_USER_AGENT'], $val)){
if(is_numeric($cle)){
$nav = $val;
}else{
$nav = $cle;
}
break;
}
}
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
@+ ( une note lol )
26 avril 2006 à 09:51
box.setAttribute("id","monid");
document.body.appendChild(box);
voilà comment on peut ajouter une div en javascript, de manière propre.... sinon, il y a les innerHTML, mais ça reste relativement crade (et ne marche pas en XUL...)
pour Sannazzarotiti : en js, tu regardes si le gars à un cookie qui dit si il veut de la musique ou non, si il ne l'a pas : vérifies que le gars a le plugin, si il l'a, alors tu mets un if confirm pour savoir si il veut la musique, si il en veut, alors tu ajoutes ton interface de gestion de musique, et tu démare la musique, et tu met dans un cookie qu'il veut de la musique. Et si le gars a le cookie, alors tu replace toute ton interface...
selon moi, c'est meilleur car tu n'as pas de rechargement de page...
26 avril 2006 à 07:19
- je ne pige pas le style Gras. Pourquoi faire ? Quand on a une balise ? Vu la mise en page, c'est inutile.
- à moins qu'un truc ne m'échappe, je ne vois tjrs pas l'intérêt de getenv ().
- l'attribut language pour la balise script est déprécié.
- document.write () est horrible (enfin, à mon avis hein...je ne suis pas un spécialise du JS ;-) ). Javascript est un langage fortement orienté DOM, quand même...il y a des façons plus élégantes de faire. On fout le html d'un côté, le js de l'autre, le php pour arbitrer... ;-) Bref, plus DOM pour js... :-)
- t'as commencé à sortir les styles, dommage que tu te sois arrêté en route ?
- if(function_exists('getenv'))...mouais. getenv() est dispo depuis php3, ne nécessite aucune installation particulière, aucune extension, et est standard par défaut. Manquerait plus qu'on fasse des function_exists () sur tout ce qui bouge! ;-)
- la boucle sur strchr est lourde. D'une part, strchr est un alias de strstr, alors je me demande pourquoi tu choisis strchr, mais bon...ensuite, strpos sera sans doute plus rapide. Pi là il est trop tôt, mais je pense que tu peux largement alléger cette partie :-)
25 avril 2006 à 20:28
25 avril 2006 à 20:26
25 avril 2006 à 18:35
25 avril 2006 à 18:32
25 avril 2006 à 16:50
Ben ouais, mais dans ce cas, ça sert à quoi, à part à alourdir le code...?
25 avril 2006 à 16:25
25 avril 2006 à 16:16
Malalam => "getenv () ne fonctionne pas sur certaine serveurs (dont IIS); autant éviter de l'utiliser donc."
>> C' est pour ça qu' il y a des if ^^.
Je regarde si l' ip est stocké dans la variable, si oui je donne une valeur à $ip sinon je passe à la condition suivante.
J' ai réécrit le code en donnant le nom du navigateur, les plug-ins installés :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Vos informations</title>
<style type="text/css" media="screen">
<!--
.Gras {
font-weight: bolder;
}
//-->
</style>
</head>
<script language="JavaScript" type="text/javascript">
<!--
//******************************************************************************
// Largeur X Hauteur
//******************************************************************************
document.write('Votre résolution est de '+screen.width+' X '+screen.height+'.
');
//******************************************************************************
// Plug-ins
//******************************************************************************
// Nombre de plug-ins installés
var nbplugin = navigator.plugins.length;
if(nbplugin){
document.write('Plug-ins installés ( ' + nbplugin + ' ) :
');
document.write('');
var i = -1;
while (i < nbplugin){// Affichage des noms des plug-ins
i++;
document.write('<li>' + navigator.plugins[i].name + '</li>');
if(i == nbplugin-1){
document.write('');
}
}
}else{
document.write('Il n\' y a aucun plug-ins installé.
');
}
//-->
</script>
<?php
//******************************************************************************
// On prend l' ip de la meilleure manière qu'il soit
//******************************************************************************
if(function_exists('getenv')){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}elseif($_SERVER['REMOTE_ADDR']){
$ip = $_SERVER['REMOTE_ADDR'];
}else{
$ip = getenv('REMOTE_ADDR');
}
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
//******************************************************************************
// Navigateur
//******************************************************************************
$nav = 'Inconnu';
$browser = array('Internet Explorer'=>'MSIE', 'Firefox', 'Mozilla', 'Netscape', 'Safari', 'Konqueror', 'Epiphany', 'Lynx', 'Opera');
foreach($browser as $cle => $val){
if(strchr($_SERVER['HTTP_USER_AGENT'], $val)){
if(is_numeric($cle)){
$nav = $val;
}else{
$nav = $cle;
}
break;
}
}
echo 'Votre navigateur est ',$nav,'.
',"\r\n"
,'Voici toutes les référances de votre navigateur : ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',$ip,'.',"\r\n";
?>
</html>
25 avril 2006 à 15:12
25 avril 2006 à 15:10
25 avril 2006 à 14:36
25 avril 2006 à 14:34
25 avril 2006 à 14:32
25 avril 2006 à 14:30
25 avril 2006 à 14:18
Hauteur : 1024
Largeur : 1280
Profondeur de Couleurs : 32
Profondeur de Pixels : 32
Hauteur disponible : 994
Largeur disponible : 1280
25 avril 2006 à 14:17
25 avril 2006 à 14:16
25 avril 2006 à 14:15
25 avril 2006 à 12:31
<script language="JavaScript"><!--
var nbplugin = navigator.plugins.length;
// La variable contient le nombre de plug-ins installés
var win = window.open
("","Plugins","width=400,height=350,resizeable,scrollbars=yes");
//Ouverture d'une fenêtre pour la liste des plug-ins
var i = -1;
win.document.write("Les plug-ins installés :
");
win.document.write("Nombre de plug-ins :" + nbplugin +
"
");
// Le nombre es plug-ins est affiché
// dans la fenêtre
while (i < nbplugin)
{
i++;
win.document.write(navigator.plugins[i].name + "
");
// Affichage des noms des plug-ins
}
// --></script>
Ce code affiche dans une popup tous les puddings installer (il n'est pas de moi je le repete). Tu pourait t'en inspirer pour améliorer ta sources.
25 avril 2006 à 11:15
Wizad => je ne trouve pas ça très bien codé, justement, comme je l'ai dit (enfin, je parle surtout du html, vu le peu de php...peu qui est correct, néanmoins!) L'attribut onload est déprécié, par exemple...ennuyeux pour cet exemple. D'autant plus qu'on peut s'en passer, en virant la fonction, par exemple : on lance le javascript séquentiellement.
Quant à "l'autre" méthode pour récupérer des variables js en php, il n'y en a pas : enfin en tous cas, il y a une nécessité, qui est utilisée ici d'une manière (il y en a d'autres, là, par contre) : celle de repasser par le serveur. Ici, on poste un formulaire en POST. Ok. On peut le faire en GET, on peut se passer d'un formulaire et requêter la page directement avec des requêtes xmlhttp...etc.
25 avril 2006 à 11:01
"- je trouve que c'est franchement léger comme code, d'une manière générale, mais bon..." (malalam) C'est vrai mais les exemple les plus simple sont parfois les meilleurs à condition qu'ils soient BIEN CODé!! ;-)
Sur ceux pense à intégréles correction d'html d'ImmortlPC voir de dévelloper un peu la partie PHP (meilleur traitement des informations fournient par $_SERVER['HTTP_USER_AGENT']).
25 avril 2006 à 10:02
Je suis tout à fait d' accord avec Malalam.
Voilà le code refait sans formulaire et aux normmes xhtml 1.0 ( j'avais la flèmme de chercher le DTD XHTML 1.1 :p)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Vos informations</title>
</head>
<script language="JavaScript" type="text/javascript">
<!--
document.write('Votre résolution est de '+screen.width+' X '+screen.height+'.
');
//-->
</script>
<?php
// on prend l'ip de la meilleure manière qu'il soit
function get_ip(){
if(getenv('HTTP_CLIENT_IP')){
$ip = getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}elseif($_SERVER['REMOTE_ADDR']){
$ip = $_SERVER['REMOTE_ADDR'];
}else{
$ip = getenv('REMOTE_ADDR');
}
return $ip;
}
echo 'Votre navigateur est ',$_SERVER['HTTP_USER_AGENT'],'.
',"\r\n"
,'Votre adresse IP est ',get_ip(),'.';
?>
</html>
@+
25 avril 2006 à 09:05
eh beh, moi qui comptait effacer ce code...si il plait, il reste.
Néanmoins, je fais mes critiques :
- le html n'est pas terrible, autant le revoir pour être plus aux normes.
- pourquoi passer par la soumission d'un formulaire pour récupérer la résolution dans une variable php...??? Puisque tu dois utiliser du javascript, pourquoi n'utilises-tu pas QUE du javascript...? Ca éviterait une soumission.
- je trouve que c'est franchement léger comme code, d'une manière générale, mais bon...
25 avril 2006 à 08:49
24 avril 2006 à 18:30
J'avais mis un "s" en trop :S