Une adresse de protocole Internet (adresse IP) est un numéro unique attribué à chaque périphérique connecté à Internet. Pour différentes raisons, il peut être utile de connaître l'adresse IP de l'utilisateur, par exemple en bloquant un utilisateur spammeur dans une application de discussion. Dans ce tutoriel, je vais vous montrer comment obtenir et afficher l'adresse IP de l'utilisateur à l'aide de PHP et ActionScript..
Jetons un coup d'œil au résultat final sur lequel nous allons travailler:
Remarque: ce fichier SWF sert uniquement à afficher l'interface, mais pas l'adresse IP réelle car il n'est pas connecté à un serveur PHP..
Le script PHP et le fichier SWF créés dans ce didacticiel peuvent certainement être utilisés ensemble pour afficher l'adresse IP réelle de l'utilisateur..
Vous apprendrez à écrire et à utiliser du code php pour récupérer des données générées à partir du serveur à l'aide d'ActionScript 3, puis à utiliser ces données dans votre application..
Lancez Flash et créez un nouveau document. Définissez la taille de la scène sur 540x300px et la cadence sur 24 images par seconde.
Voici l'interface que nous allons utiliser: un simple arrière-plan, un bouton pour appeler la fonction qui obtiendra les données et quelques TextField pour afficher les données obtenues du serveur Web..
Continuez aux prochaines étapes pour voir comment c'est fait.
Sélectionnez l'outil Rectangle (R), créez un rectangle large de 540 pixels de large et 300 pixels de haut et remplissez-le avec ce dégradé radial # 424A57, # 232730. Centrer le rectangle pour s'adapter à la scène.
Un bouton sera utilisé pour appeler la fonction qui lira le fichier PHP à partir du serveur Web..
Utilisez l'outil Ovale (O) pour créer un cercle #EEEEEE de 64x64px et centrez-le sur la scène..
Pour créer la flèche au milieu, nous allons utiliser l'outil PolyStar (cliquez sur le bouton Outil Rectangle et maintenez-le enfoncé. Un menu contextuel apparaîtra dans lequel vous pourrez sélectionner l'outil). le bouton Options.
Définissez le nombre de côtés sur 3, puis cliquez sur OK..
Créez un triangle 35x19px et utilisez l'outil Rectangle (R) pour dessiner un rectangle de 19x18px. Alignez-les pour former une flèche.
Remplissez la flèche avec une couleur différente, placez-la au centre du cercle et séparez-les (Cmd + B) pour couper la forme de la flèche dans le cercle..
Convertir la forme en un bouton et nommez-le getButton.
Sélectionnez l'outil Texte (T) et créez un champ de texte dynamique. Il s'agit du format utilisé dans l'exemple: DIN Bold, 70pt, #EEEEEE. En utilisant le même outil, créez un autre champ. Cette fois, c’est un champ statique qui affichera "Votre adresse IP:" utilisée comme commentaire à l’utilisateur..
Centrez les champs de texte comme indiqué dans l'image:
Nommez le champ de texte dynamique ipField.
Vous aimerez probablement utiliser une belle police que tous les utilisateurs n'auront pas. Par conséquent, pour s'assurer que l'utilisateur voit ce que nous voulons qu'il voit, nous devons intégrer notre police..
Sélectionnez vos TextFields dynamiques et allez à la Propriétés panneau, Personnage section et appuyez sur la Intégrer… bouton.
Une nouvelle fenêtre apparaîtra, sélectionnez les caractères que vous souhaitez incorporer (ici des chiffres) et cliquez sur OK..
Vous remarquerez dans la démo que les champs de texte et le bouton semblent avoir un biseau, il s’agit d’un simple effet typographique..
Pour donner aux champs de texte et aux boutons ce look, dupliquez les formes déjà présentes sur la scène et utilisez les flèches du clavier pour le déplacer d'une résolution supérieure. Changez la couleur en # 1B1E25 pour compléter l’effet.
PHP est un langage de script puissant qui permet à votre application d'exécuter du code côté serveur. Dans ce cas, l'adresse IP de l'utilisateur sera obtenue à l'aide d'un script situé sur un serveur Web..
Ouvrez votre éditeur PHP préféré (n'importe quel éditeur de texte fera le travail) et écrivez les lignes suivantes:
< ?php //Opening Tag, tell PHP server to interpret the following lines as php code $ip = $_SERVER['REMOTE_ADDR']; //Sets the ip variable, its value is a method that will get the user ip echo $ip; //The echo keyword outputs the assigned string, in this case the ip variable ? > // Fermer la balise
Ce code indique au serveur d’obtenir l’adresse distante du visiteur, puis renvoie l’adresse obtenue, qui est stockée dans le fichier. $ ip variable.
Un serveur Web compatible PHP est requis pour exécuter l'application avec succès. de nos jours, presque tous les serveurs Web prennent en charge et ont installé PHP, il serait donc rare que le vôtre ne le fasse pas (sauf pour les hôtes Web gratuits).
Enregistrez le fichier PHP sous script.php et le télécharger sur votre serveur Web, n'oubliez pas que nous appellerons ce fichier ultérieurement à l'aide d'ActionScript. N'oubliez donc pas le chemin où vous l'avez chargé..
Le moment est venu pour notre langue préférée…
Créez une nouvelle classe ActionScript 3.0 et enregistrez-la sous Main.as dans votre dossier de classe.
paquet
Le mot clé package vous permet d'organiser votre code en groupes pouvant être importés par d'autres scripts. Il est recommandé de les nommer en commençant par une lettre minuscule et d'utiliser des interconnexions pour les mots suivants (par exemple: mes classes). Il est également courant de les nommer à l'aide de l'URL du site Web de votre entreprise. Http://mycompany.com utiliserait donc: com.mycompany.classesType.myClass.
Dans cet exemple, nous utilisons une seule classe. Il n'est donc pas vraiment nécessaire de créer un dossier de classes ou de définir un package..
Ce sont les classes que nous devons importer pour que notre classe fonctionne, le importation directive met à la disposition de votre code des classes et des packages définis en externe.
import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import fl.transitions.Tween; import fl.transitions.easing.Strong;
le s'étend mot-clé définit une classe qui est une sous-classe d'une autre classe. La sous-classe hérite de toutes les méthodes, propriétés et fonctions, ainsi nous pouvons les utiliser dans notre classe.
public class Main étend Sprite
Dans cet exemple, le Classe principale hérite de toutes les méthodes et propriétés du Classe Sprite.
Nous allons utiliser deux variables. Ajoutez ceci en dessous de la déclaration de classe:
var urlLoader: URLLoader = new URLLoader (); var tween: Tween;
urlLoader crée une instance de la classe URLLoader, qui gérera le chargement du fichier PHP externe, tandis que interpolation déclare un objet qui utilisera la classe Tween pour l'animation.
Le constructeur est une fonction qui s'exécute lorsqu'un objet est créé à partir d'une classe. Ce code est le premier à s'exécuter lorsque vous créez une instance d'un objet ou que vous l'exécutez à l'aide de la classe de document..
fonction publique Main (): void
La ligne suivante ajoute un écouteur au bouton en phase pour réagir à un MOUSE_UP MouseEvent.
getButton.addEventListener (MouseEvent.MOUSE_UP, getIP);
Ce code s'exécute lorsque le bouton est enfoncé, il charge la page php que nous avons écrite précédemment sur le serveur et appelle une fonction lorsque le chargement est terminé. Il gère également l'animation du bouton.
fonction privée getIP (e: MouseEvent): void urlLoader.load (new URLRequest ("http://www.mywebsite.com/script.php")); urlLoader.addEventListener (Event.COMPLETE, showIP); tween = new Tween (getButton, "y", Strong.easeOut, getButton.y, 340, 1, vrai);
La fonction suivante est exécutée lorsque le fichier PHP est complètement chargé. Il affiche les données reçues (l'adresse IP que nous avons renvoyée) en utilisant TextFields in stage.
fonction privée showIP (e: Event): void ipField.text = e.target.data; ipFieldPressed.text = e.target.data;
Retournez à la FLA et dans le Panneau des propriétés> Section de publication> Champ de classe, ajouter Principale comme valeur. Cela liera cette classe en tant que Classe de document.
Vous savez maintenant comment obtenir et utiliser l'adresse IP de l'utilisateur dans votre animation Flash, expérimenter et implémenter cet exemple dans vos propres projets.!
J'espère que vous avez aimé ce tutoriel, merci d'avoir lu!