En Internett-protokolladresse (IP-adresse), er et unikt nummer som er tildelt hver enhet som er koblet til Internett. Av ulike grunner kan det være nyttig å få brukerens IP-adresse, for eksempel å blokkere en spammebruker i et chat-program for eksempel. I denne veiledningen vil jeg vise deg hvordan du får og viser brukerens IP-adresse ved hjelp av PHP og ActionScript.
La oss se på det endelige resultatet vi vil jobbe for:
Merk: Denne SWF er bare for å vise grensesnittet, det vil ikke vise den faktiske IP fordi den ikke er koblet til en PHP-server.
PHP-skriptet og SWF du lager i denne veiledningen kan sikkert brukes sammen til å vise brukerens faktiske IP-adresse.
Du lærer hvordan du skriver og bruker PHP-kode for å hente data generert fra serveren ved hjelp av ActionScript 3 og deretter bruke dataene i søknaden din.
Start Flash og opprett et nytt dokument. Still scenestørrelsen til 540x300px og bildefrekvensen til 24fps.
Dette er grensesnittet vi vil bruke: En enkel bakgrunn, en knapp for å ringe funksjonen som vil få dataene og noen TextFields til å vise dataene hentet fra webserveren.
Fortsett til de neste trinnene for å se hvordan det er laget.
Velg Rectangle Tool (R), opprett et 540px bredt, 300px høyt rektangel og fyll det med denne radiale gradienten # 424A57, # 232730. Senter rektangelet for å passe scenen.
En knapp vil bli brukt til å ringe funksjonen som vil lese PHP-filen fra webserveren.
Bruk det ovale verktøyet (O) til å lage en 64x64px #EEEEEE-sirkel, og senter den på scenen.
For å lage pilen i midten bruker vi PolyStar-verktøyet (klikk og hold knappen Rektangelverktøy, og en kontekstmeny vises der du kan velge verktøyet), med verktøyet valgt, gå til Egenskaper panelet og klikk alternativknappen.
Angi antall sider til 3 og klikk OK.
Opprett en 35x19px-trekant, og bruk Rectangle Tool (R) til å tegne et 19x18px rektangel. Juster dem for å danne en pil.
Fyll pilen med en annen farge, plasser den i sirkelens senter og brett dem Apart (Cmd + B) dette vil kutte pilformen i sirkelen.
Konverter formen til en knapp og navn den getButton.
Velg tekstverktøyet (T) og opprett et dynamisk tekstfelt, dette er formatet som brukes i eksempelet: DIN Fet, 70pt, #EEEEEE. Ved å bruke det samme verktøyet, opprett et annet felt, denne gangen er det et statisk felt som viser "Din IP-adresse:" brukt som tilbakemelding til brukeren.
Senter tekstfeltene som vist på bildet:
Navngi det dynamiske tekstfeltet ipField.
Du vil sannsynligvis bruke en skikkelig skrifttype som ikke alle brukere vil ha, så for å sikre at brukeren ser hva vi vil at han skal se, må vi legge inn fonten vår.
Velg din dynamiske TextFields og gå til Eiendommer panel, Karakter delen og trykk på Bygg inn ... knapp.
Et nytt vindu kommer opp, velg tegnene du vil legge inn (i dette tilfellet tall) og klikk OK.
Du vil legge merke til i Demo at TextFields og knappen synes å ha litt skråning, dette er en enkel bokstavseffekt.
For å gi tekstfeltene og knappen denne utseendet, dupliserer figurene allerede på scenen, og bruker tastaturpilen til å flytte den 1px opp. Endre fargen til # 1B1E25 for å fullføre effekten.
PHP er et kraftig skriptspråk som gjør at applikasjonen din kan kjøre kode på serversiden, i dette tilfellet vil vi skaffe brukerens IP-adresse ved hjelp av et skript på en webserver.
Åpne din foretrukne PHP-editor (noen tekstredigerer vil gjøre jobben) og skriv følgende linjer:
< ?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 ? > // Lukk tag
Denne koden forteller at serveren skal få den besøkendes fjernadresse (IP) og returnerer deretter mottatt adresse, som er lagret i $ ip variabel.
En PHP-kompatibel webserver er nødvendig for å kjøre programmet vellykket. I dag støtter nesten hvilken som helst webserver og har installert PHP, så det ville være sjelden hvis din ikke gjør det (bortsett fra gratis webverter).
Lagre PHP-filen som script.php og last opp den til webserveren din, husk at vi vil ringe denne filen senere ved hjelp av ActionScript, så ikke glem banen hvor du lastet opp den.
Nå er det på tide for favorittspråket vårt ...
Opprett en ny ActionScript 3.0-klasse og lagre den som Main.as i klassemappen din.
pakke
Pakkeordet gir deg mulighet til å organisere koden din i grupper som kan importeres av andre skript. Det anbefales at de kaller dem med en liten bokstav og bruker sammenkoblinger til etterfølgende ord (for eksempel: timene mine). Det er også vanlig å navngi dem ved å bruke bedriftens nettsideadresse, så http://mycompany.com vil bruke: com.mycompany.classesType.myClass.
I dette eksemplet bruker vi en enkelt klasse, så det er egentlig ikke et behov for å lage en klassemappe, eller å sette en pakke.
Dette er klassene vi må importere for vår klasse for å jobbe, importere Direktivet gir eksternt definerte klasser og pakker tilgjengelig for koden din.
importer flash.display.Sprite; importer flash.net.URLLoader; importere flash.net.URLRequest; importere flash.events.Event; importer flash.events.MouseEvent; importere fl.transitions.Tween; importere fl.transitions.easing.Strong;
De strekker Søkeord definerer en klasse som er en underklasse av en annen klasse. Underklassen arver alle metodene, egenskapene og funksjonene, slik at vi kan bruke dem i vår klasse.
offentlig klasse Main utvider Sprite
I dette eksemplet er Hovedklassen arver alle metodene og egenskapene til Sprite Class.
Vi bruker to variabler. Legg til dette under klassedeklarasjonen:
var urlLader: URLLoader = ny URLLoader (); Var mellom: Tween;
URLLoader lager en forekomst av URLLoader-klassen, som håndterer belastningen på den eksterne PHP-filen, mens tween erklærer et objekt som vil bruke Tween-klassen til animasjon.
Konstruktøren er en funksjon som kjører når et objekt er opprettet fra en klasse, denne koden er den første som skal utføres når du lager en forekomst av et objekt eller kjører ved hjelp av dokumentklassen.
offentlig funksjon Main (): void
Følgende linje legger til en lytter til knappen i scenen for å reagere på en MOUSE_UP MouseEvent.
getButton.addEventListener (MouseEvent.MOUSE_UP, getIP);
Denne koden kjøres når knappen trykkes, den laster php siden vi skrev tidligere på serveren og kaller en funksjon når lasten er fullført. Det håndterer også knapp animasjonen.
privat funksjon getIP (e: MouseEvent): void urlLoader.load (ny URLRequest ("http://www.mywebsite.com/script.php")); urlLader.addEventListener (Event.COMPLETE, showIP); tween = ny Tween (getButton, "y", Strong.easeOut, getButton.y, 340, 1, true);
Den neste funksjonen utføres når PHP-filen er fullt lastet. Den viser mottatte data (IP-adressen som vi ekko-ed) ved hjelp av TextFields i scenen.
privatfunksjonshowIP (e: Event): void ipField.text = e.target.data; ipFieldPressed.text = e.target.data;
Gå tilbake til FLA og i Egenskaper Panel> Publiser seksjon> Klassefelt, Legg til Hoved som verdi. Dette vil koble denne klassen som Dokumentklasse.
Nå vet du hvordan du får og bruker brukerens IP-adresse i Flash-filmen, eksperimentere og implementere dette eksempelet i dine egne prosjekter!
Jeg håper du likte denne opplæringen, takk for å lese!