Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Mehrere Codeschnippsel in PHP gebraucht.

Windwusel

Invisible
Otaku König
25 Jan. 2015
243
48
28
Hallo,

leider fallen meine Kenntnisse in PHP etwas mager aus, weswegen ich hier im Forum mal anfragen wollte ob mir jemand unterstützend Helfen kann. Ich brauche einige kleinere Funktionen um Informationen auszulesen, es soll allerdings keine Speicherung erfolgen. Ich kann schlecht einschätzen um wie viel Arbeit es sich handelt, weswegen ich dem Entwickler eine Erwähnung im Impressum des fertigen Projektes oder eine Lizenz zu Windows 7 Professional im Tausch anbiete. Natürlich möchte ich hier keine Regeln brechen und frage deswegen in dem mir am passendsten Bereich in der Hoffnung an hier überhaupt jemanden zu finden der mir helfen kann.

Ich benötige folgende Funktionen die meines Wissenstandes nach alle mit PHP umsetzbar sein sollten:
  • IP
  • Hostname
  • DNS
  • Land
  • Ort
  • Ortszeit
  • Breitengrad
  • Längengrad
  • Position auf OpenStreetMap
  • Region
  • Ist Flash eingeschaltet?
  • Ist Java eingeschaltet?
  • Ist JavaScript eingeschaltet?
  • Bin ich in Facebook angemeldet?
  • Bin ich in Twitter angemeldet?
  • Bin ich in G+ angemeldet?
  • Bin ich in Instagram angemeldet?

Wie bereits erwähnt sollen diese Informationen lediglich ausgelesen werden und nur dem Besucher angezeigt werden.


Gruß
Wind
 

FrozZenOnE

Otaku König
18 Juli 2014
206
9
0
AW: Mehrere Codeschnippsel in PHP gebraucht.

Das meiste dürfte durch PHP machbar sein, obwohl ich nicht glaube dass man mit PHP schauen kann ob Java oder Flash auf dem LOCALEN PC installiert ist. PHP ist ja ne Serverseitige Scripsprache und hat demnach relativ wenig Ahnung was auf dem PC so drauf ist.
Genauso sehe ich das bei den sozialen Netzwerken. Das dürfte zwar über JavaScript machbar sein aber bei PHP bin ich mir fast sicher dass es nicht möglich ist. (Genauso weiß PHP auch nicht ob JavaScript eingeschaltet ist oder nicht, lässt sich wiederum auch über JavaScript/den HTML-Tag <noscript> realisieren)

Falls ich mich komplett irren sollte, lasse ich mich auch gerne belehren.

Und ob ich dir bei den Sachen helfen kann muss ich selber noch austesten ^^
 
Zuletzt bearbeitet:

damn10

Otaku Amateur
14 Dez. 2014
18
1
0
AW: Mehrere Codeschnippsel in PHP gebraucht.

Per PHP ist das meiste davon umsetzbar. Schau dir dazu einfach mal das $_SERVER-Array an.
Für die Ortsangaben gibt es die GeoIP-Erweiterung, inwiefern sich das dann in OpenStreetMap auflösen kann weiß ich leider auch nicht.

Weiterhin könnte der <noscript>-Tag für dich interessant sein. Inhalte darin werden nur angezeigt, wenn JavaScript ausgeschaltet ist.

Um zu überprüfen, ob der Benutzer bei verschiedenen sozialen Netzwerken angemeldet ist, solltest du definitiv die API der einzelnen Anbieter verwenden. Die kann dir auch als Authentifizierungsmethode dienen, insofern das auf deiner Webseite nötig sein sollte.

Sind jetzt keine Codeschnipsel, hoffe ich konnte dir aber trotzdem weiterhelfen. :)
 

Japu_D_Cret

Otaku Amateur
29 März 2015
19
0
0
AW: Mehrere Codeschnippsel in PHP gebraucht.

Wie FrozZenOnE bereits angedeutet hat ist PHP eine serverseitige Sprache.
Diese wird halt erst bei Aufruf interpretiert und damit ausgeführt.

Was PHP machen kann ist aber den HTTP-Header für den Admin simpel auslesen.
Für Orte würde ich damn10s Vorschlag mit GeoIP benutzen, wobei teilweise im Header auch die benutze Standardsprache mitgeliefert wird, wenn dies dir genügen sollte.
Für die Ortszeit gibt es verschiedenste öffentlich zugängliche Scripte, die gut ausgetestet sind. Ich würde mich jener bedienen, denn Ortszeiten sind für Informatiker der reinste Horror.

Nachfolgend nenne ich dir mal, was man mit dem $_SERVER Array von PHP anfangen kann:
echo "<table id="table">";
echo "<tr><td>PHP_SELF:</td><td>".$_SERVER['PHP_SELF']."</td></tr>";
echo "<tr><td>argv:</td><td>".$_SERVER['argv']."</td></tr>";
echo "<tr><td>argc:</td><td>".$_SERVER['argc']."</td></tr>";
echo "<tr><td>GATEWAY_INTERFACE:</td><td>".$_SERVER['GATEWAY_INTERFACE']."</td></tr>";
echo "<tr><td>SERVER_ADDR:</td><td id="t8d2">".$_SERVER['SERVER_ADDR']."</td></tr>";
echo "<tr><td>SERVER_NAME:</td><td>".$_SERVER['SERVER_NAME']."</td></tr>";
echo "<tr><td>SERVER_SOFTWARE:</td><td>".$_SERVER['SERVER_SOFTWARE']."</td></tr>";
echo "<tr><td>SERVER_PROTOCOL:</td><td>".$_SERVER['SERVER_PROTOCOL']."</td></tr>";
echo "<tr><td>REQUEST_METHOD:</td><td>".$_SERVER['REQUEST_METHOD']."</td></tr>";
echo "<tr><td>REQUEST_TIME:</td><td>".$_SERVER['REQUEST_TIME']."</td></tr>";
echo "<tr><td>QUERY_STRING:</td><td>".$_SERVER['QUERY_STRING']."</td></tr>";
echo "<tr><td>DOCUMENT_ROOT:</td><td>".$_SERVER['DOCUMENT_ROOT']."</td></tr>";
echo "<tr><td>HTTP_ACCEPT:</td><td>".$_SERVER['HTTP_ACCEPT']."</td></tr>";
echo "<tr><td>HTTP_ACCEPT_CHARSET:</td><td>".$_SERVER['HTTP_ACCEPT_CHARSET']."</td></tr>";
echo "<tr><td>HTTP_ACCEPT_ENCODING:</td><td>".$_SERVER['HTTP_ACCEPT_ENCODING']."</td></tr>";
echo "<tr><td>HTTP_ACCEPT_LANGUAGE:</td><td>".$_SERVER['HTTP_ACCEPT_LANGUAGE']."</td></tr>";
echo "<tr><td>HTTP_CONNECTION:</td><td>".$_SERVER['HTTP_CONNECTION']."</td></tr>";
echo "<tr><td>HTTP_HOST:</td><td>".$_SERVER['HTTP_HOST']."</td></tr>";
echo "<tr><td>HTTP_REFERER:</td><td>".$_SERVER['HTTP_REFERER']."</td></tr>";
echo "<tr><td>HTTP_USER_AGENT:</td><td>".$_SERVER['HTTP_USER_AGENT']."</td></tr>";
echo "<tr><td>HTTPS:</td><td>".$_SERVER['HTTPS']."</td></tr>";
echo "<tr><td>REMOTE_ADDR:</td><td>".$_SERVER['REMOTE_ADDR']."</td></tr>";
echo "<tr><td>REMOTE_HOST:</td><td>".$_SERVER['REMOTE_HOST']."</td></tr>";
echo "<tr><td>REMOTE_PORT:</td><td>".$_SERVER['REMOTE_PORT']."</td></tr>";
echo "<tr><td>SCRIPT_FILENAME:</td><td>".$_SERVER['SCRIPT_FILENAME']."</td></tr>";
echo "<tr><td>SERVER_ADMIN:</td><td>".$_SERVER['SERVER_ADMIN']."</td></tr>";
echo "<tr><td>SERVER_PORT:</td><td>".$_SERVER['SERVER_PORT']."</td></tr>";
echo "<tr><td>SERVER_SIGNATURE:</td><td>".$_SERVER['SERVER_SIGNATURE']."</td></tr>";
echo "<tr><td>PATH_TRANSLATED:</td><td>".$_SERVER['PATH_TRANSLATED']."</td></tr>";
echo "<tr><td>SCRIPT_NAME:</td><td>".$_SERVER['SCRIPT_NAME']."</td></tr>";
echo "<tr><td>REQUEST_URI:</td><td>".$_SERVER['REQUEST_URI']."</td></tr>";
echo "<tr><td>PHP_AUTH_DIGEST:</td><td>".$_SERVER['PHP_AUTH_DIGEST']."</td></tr>";
echo "<tr><td>PHP_AUTH_USER:</td><td>".$_SERVER['PHP_AUTH_USER']."</td></tr>";
echo "<tr><td>PHP_AUTH_PW:</td><td>".$_SERVER['PHP_AUTH_PW']."</td></tr>";
echo "<tr><td>AUTH_TYPE:</td><td>".$_SERVER['AUTH_TYPE']."</td></tr>";
echo "<tr><td>PATH_INFO:</td><td>".$_SERVER['PATH_INFO']."</td></tr>";
echo "<tr><td>ORIG_PATH_INFO:</td><td>".$_SERVER['ORIG_PATH_INFO']."</td></tr>";
echo "</table>";
 

LordMeow

Otaku Novize
29 Nov. 2014
33
0
0
NRW
cursed.space
AW: Mehrere Codeschnippsel in PHP gebraucht.

Für die Ortszeit gibt es verschiedenste öffentlich zugängliche Scripte, die gut ausgetestet sind. Ich würde mich jener bedienen, denn Ortszeiten sind für Informatiker der reinste Horror.

Also ich würde ja andere Dinge als reinster Horror bezeichnen ^^

Wenn er das Land über die IP schon hat kann er mittels PHP recht per setlocale(), die Lokalitätseigenschaften setzen und dann per strftime() die Ortszeit ausgeben in dem Format, das er haben möchte. Beispiele sind auch angegeben, also sollte das kein Problem sein ^^ Sowas kann man noch locker selbst machen, dadurch lernt man es dann.

Für das Anzeigen von OpenStreetMap Karten sollte man dann jedoch auf bereits fertiges setzen. Das OSM Wiki hat hierfür sogar eine Liste an Frameworks

Längen und Breitengrade lassen sich übrigens nicht aus der IP rauslesen, sondern nur aus entsprechender Ortungs Hardware. Diese kann nicht einfach per PHP abgefragt werden, da es wie gesagt Serverseitig ausgeführt wird. Um sowas umzusetzen bräuchte der Client, der sich die Seite anguckt weitere Software auf seinem Rechner, die diese Angaben irgendwie per HTTP Request an den Server schickt. Sollte die grobe Region ausreichen, so kann das jedoch auch mittels der IP herausgefunden werden, vorrausgesetzt der User benutzt kein VPN, o.Ä. ^^

Heraus zu finden, ob Flash zur Verfügungs steht, schaue dir mal SWFObject an, das sollte das tun, was du möchtest und arbeit mit Javascript. Ohne es nachgeprüft zu haben denke ich, es sollte auch im Prinzip für Java funktionieren.

Alles in allem sollte das kein unüberwindbarer Aufwand sein. In die größeren Frameworks und API sollte man sich jedoch halbwegs gut einlesen, damit man weiß, wie man sie verwenden kann.
 

Japu_D_Cret

Otaku Amateur
29 März 2015
19
0
0
AW: Mehrere Codeschnippsel in PHP gebraucht.

15631 schrieb:

Wenn du mal Lust hast einen ernst gemeinten und wahrhaftig begründeten Rant über Zeitzonen zu sehen, dann kann ich dir folgendes Video nur herzlich empfehlen: https://www.youtube.com/watch?v=-5wpm-gesOY

Der Dienst utrace zeigt bei eingegebener IP direkt den Standort an, den er mit der jeweiligen IP verbinden kann. Dieser ist aber eher unpräzise, aber ich glaube die bieten auch eine API, da könnte man auch vorbeischauen. Mit 'nem bisschen Rumgesuche wird man fündig
 

LordMeow

Otaku Novize
29 Nov. 2014
33
0
0
NRW
cursed.space
AW: Mehrere Codeschnippsel in PHP gebraucht.

Wenn du mal Lust hast einen ernst gemeinten und wahrhaftig begründeten Rant über Zeitzonen zu sehen, dann kann ich dir folgendes Video nur herzlich empfehlen: https://www.youtube.com/watch?v=-5wpm-gesOY
Ja, ich kann die Argumente verstehen. Jedoch geht es in dem Video darum, auszurechnen wie lange etwas von einem bestimmten Punkt irgendwo auf der Erde etwas her ist. In diesem Fall muss man natürlich auf diese ganzen Sonderfälle, die es jemals und überall gab eingehen. Wenn man jedoch nur die aktuelle Zeit ausgeben möchte an dem Ort, an dem man sich befindet, dann sollte es locker ausreichen den vom Webserver gegebenen Timestamp mit den verfügbaren Methoden passend auszugeben. Klar, man sollte das Rad nicht ständig neu erfinden, aber im einfachstens Fall, das Hier-und-Jetzt auszugeben, sollten zwei Zeilen Code reichen.


Der Dienst utrace zeigt bei eingegebener IP direkt den Standort an, den er mit der jeweiligen IP verbinden kann. Dieser ist aber eher unpräzise, aber ich glaube die bieten auch eine API, da könnte man auch vorbeischauen. Mit 'nem bisschen Rumgesuche wird man fündig
Ich hab mir den Dienst mal angeschaut. Ja, die haben eine API. Jedoch kann man hier kostenfrei nur 100 Abfragen pro Tag kriegen. Darüber kostet es was. Da würde ich dann vorerst nach einer Alternative suchen. Ich hab soeben freegeoip gefunden. Da hat man zwar keine Abfrage zu ISP und sowas dabei, aber man hat 10000 Anfragen pro Stunde. Da muss man halt etwas suchen ;)