Gebruik IP-adres van gebruiker met PHP en ActionScript 3

Een internetprotocoladres (IP-adres) is een uniek nummer dat is toegewezen aan elk apparaat dat is verbonden met internet. Om verschillende redenen kan het handig zijn om het IP-adres van de gebruiker te achterhalen, zoals het blokkeren van een spammergebruiker in een chattoepassing bijvoorbeeld. In deze zelfstudie laat ik u zien hoe u het IP-adres van de gebruiker kunt verkrijgen en weergeven met behulp van PHP en ActionScript.


Eindresultaat voorbeeld

Laten we eens kijken naar het eindresultaat waar we naartoe zullen werken:

Opmerking: deze SWF is alleen om de interface weer te geven, deze toont niet het daadwerkelijke IP-adres omdat het niet is verbonden met een PHP-server.

Het PHP-script en de SWF die u in deze zelfstudie maakt, kunnen zeker samen worden gebruikt om het daadwerkelijke IP-adres van de gebruiker weer te geven.


Stap 1: Kort overzicht

U leert hoe u php-code schrijft en gebruikt om met Windows ActionScript 3 gegenereerde gegevens op te halen en deze vervolgens in uw toepassing te gebruiken.


Stap 2: Stel uw Flash-bestand in

Start Flash en maak een nieuw document. Stel de stage in op 540x300 px en de framesnelheid op 24 fps.


Stap 3: Interface

Dit is de interface die we zullen gebruiken: een eenvoudige achtergrond, een knop om de functie te bellen die de gegevens zal krijgen en sommige TextFields om de gegevens weer te geven die verkregen zijn van de webserver.

Ga door naar de volgende stappen om te zien hoe deze is gemaakt.


Stap 4: Achtergrond

Selecteer het gereedschap Rechthoek (R), maak een 540px brede, 300px hoge rechthoek en vul deze met dit radiale verloop # 424A57, # 232730. Centreer de rechthoek om in het werkgebied te passen.


Stap 5: Actieknop

Een knop zal worden gebruikt om de functie aan te roepen die het PHP-bestand van de webserver zal lezen.

Gebruik de Oval Tool (O) om een ​​64x64px #EEEEEE-cirkel te maken en centreer het op het podium.

Om de pijl in het midden te maken, maken we gebruik van de PolyStar Tool (houd de knop Rechthoekgereedschap ingedrukt en een contextmenu verschijnt waar u de tool kunt selecteren), met de tool geselecteerd, ga naar het eigenschappenvenster en klik op de knop Opties.

Stel het aantal zijden in op 3 en klik op OK.

Maak een 35x19px-driehoek en teken met het gereedschap Rechthoek (R) een rechthoek van 19x18px. Lijn ze uit om een ​​pijl te vormen.

Vul de pijl met een andere kleur, plaats deze in het midden van de cirkel en breek ze uit elkaar (Cmd + B) hierdoor wordt de pijlvorm in de cirkel gesneden.

Converteer de vorm naar een knop en noem die getButton.


Stap 6: TextFields

Selecteer het tekstgereedschap (T) en maak een dynamisch tekstveld, dit is het formaat dat in het voorbeeld wordt gebruikt: DIN Bold, 70pt, #EEEEEE. Gebruik hetzelfde hulpmiddel om een ​​ander veld te maken, dit keer is het een statisch veld dat "Uw IP-adres:" gebruikt als feedback voor de gebruiker.

Centreer de tekstvelden zoals getoond in de afbeelding:

Geef het dynamische tekstveld een naam ipField.


Stap 7: sluit lettertype in

Je zult waarschijnlijk een goed lettertype willen gebruiken dat niet elke gebruiker zal hebben, dus om ervoor te zorgen dat de gebruiker ziet wat we willen dat hij ziet, moeten we ons lettertype insluiten.

Selecteer uw dynamische TextFields en ga naar eigenschappen paneel, Karakter sectie en druk op de Insluiten ... knop.

Er verschijnt een nieuw venster, selecteer de tekens die u wilt insluiten (in dit geval cijfers) en klik op OK.


Stap 8: Een klein detail

Je zult in de Demo opmerken dat de TextFields en de Button wat afschuining lijken te hebben, dit is een eenvoudig letterpress effect.

Als u de tekstvelden wilt geven en deze look wilt gebruiken, dupliceert u de vormen die al op het podium staan ​​en gebruikt u de toetsenbordpijlen om deze 1 px naar boven te verplaatsen. Verander de kleur in # 1B1E25 om het effect te voltooien.


Stap 9: PHP

PHP is een krachtige scripttaal waarmee uw toepassing code op de server kan uitvoeren, in dit geval zullen we het IP-adres van de gebruiker verkrijgen met behulp van een script in een webserver.

Open de PHP-editor van uw voorkeur (een willekeurige teksteditor zal het doen) en schrijf de volgende regels:

 < ?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 ? > // Tag sluiten

Deze code vertelt de server om het externe adres (IP) van de bezoeker te krijgen en retourneert vervolgens het verkregen adres dat is opgeslagen in de $ ip veranderlijk.


Stap 10: server

Een PHP-compatibele webserver is vereist om de applicatie met succes uit te voeren; Tegenwoordig ondersteunt en installeert bijna elke webserver PHP, dus het zou zeldzaam zijn als die van jou dat niet doet (behalve voor gratis webhosts).

Sla het PHP-bestand op als script.php en upload het naar uw webserver, onthoud dat we dit bestand later zullen gebruiken met ActionScript, dus vergeet het pad niet waar u het heeft geüpload.


Stap 11: ActionScript

Nu is het tijd voor onze favoriete taal ...

Maak een nieuwe ActionScript 3.0-klasse en sla deze op als Main.as in je klasmap.


Stap 12: Pakket

pakket 

Met het sleutelwoord van het pakket kunt u uw code indelen in groepen die door andere scripts kunnen worden geïmporteerd. Het wordt aanbevolen deze een naam te geven, te beginnen met een kleine letter en intercaps te gebruiken voor volgende woorden (bijvoorbeeld: mijn lessen). Het is ook gebruikelijk om ze te noemen met behulp van de URL van uw bedrijfswebsite, dus http://mycompany.com zou gebruiken: com.mycompany.classesType.myClass.

In dit voorbeeld gebruiken we een enkele klasse, dus er is niet echt een behoefte om een ​​klassenmap te maken of om een ​​pakket in te stellen.


Stap 13: Importrichtlijn

Dit zijn de klassen die we moeten importeren voor onze klas om te werken, de importeren richtlijn maakt extern gedefinieerde klassen en pakketten beschikbaar voor uw code.

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;

Stap 14: Verklaar en verleng de klas

De strekt keyword definieert een klasse die een subklasse van een andere klasse is. De subklasse erft alle methoden, eigenschappen en functies, op die manier kunnen we ze in onze klasse gebruiken.

 public class Main breidt uit

In dit voorbeeld is de Hoofdklasse erft alle methoden en eigenschappen van de Sprite-klasse.


Stap 15: Variabelen

We zullen gebruik maken van twee variabelen. Voeg dit toe onder de klassenverklaring:

var urlLoader: URLLoader = new URLLoader (); var tween: Tween;

URLLoader maakt een instantie van de klasse URLLoader aan, die de belasting van het externe PHP-bestand zal afhandelen, terwijl tween declareert een object dat de Tween-klasse gebruikt voor animatie.


Stap 16: Constructor

De constructor is een functie die wordt uitgevoerd wanneer een object wordt gemaakt op basis van een klasse, deze code is de eerste die wordt uitgevoerd wanneer u een exemplaar van een object maakt of wordt uitgevoerd met behulp van de documentklasse.

 public function Main (): void 

Stap 17: luister naar Mouse Event

De volgende regel voegt een luisteraar toe aan de knop in de fase om te reageren op een MOUSE_UP MouseEvent.

getButton.addEventListener (MouseEvent.MOUSE_UP, getIP);

Stap 18: Krijg IP

Deze code wordt uitgevoerd wanneer de knop wordt ingedrukt, het laadt de php-pagina die we eerder op de server hebben geschreven en roept een functie op wanneer de belasting is voltooid. Het behandelt ook de knopanimatie.

 private functie getIP (e: MouseEvent): void urlLoader.load (nieuwe URLRequest ("http://www.mywebsite.com/script.php")); urlLoader.addEventListener (Event.COMPLETE, showIP); tween = nieuwe Tween (getButton, "y", Strong.easeOut, getButton.y, 340, 1, true); 

Stap 19: de gegevens ontvangen en weergeven

De volgende functie wordt uitgevoerd wanneer het PHP-bestand volledig is geladen. Het toont de ontvangen gegevens (het IP-adres dat we hebben 'echo'-ed) met behulp van de TextFields in fase.

private function showIP (e: Event): void ipField.text = e.target.data; ipFieldPressed.text = e.target.data; 

Stap 20: Documentklasse

Ga terug naar de FLA en in de Eigenschappen paneel> Publicatie sectie> Klasse veld, toevoegen Hoofd als waarde. Hiermee wordt deze klasse gekoppeld aan de Documentklasse.


Conclusie

Nu weet u hoe u het IP-adres van de gebruiker in uw Flash-film kunt krijgen en gebruiken, en dit voorbeeld in uw eigen projecten kunt uitvoeren!

Ik hoop dat je deze tutorial leuk vond, bedankt voor het lezen!