• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ermittelte IP aus PHP-Skript in HTML einbinden

JensB

Neues Mitglied
Klar, so würde es gehen:
HTML:
<!-- HTML..... -->

<?php
    echo $REMOTE_ADDR;
?>

<!-- restliche HTMl-Daten -->

Aber dann muss die Dateiendung .php sein. Kann man nicht an einer Stelle auf ein PHP-Skript verlinken? So à la src="getIp.php" und an der Stelle steht dann nachher die IP? Ich würde es nämlich gerne vermeiden, meine ganzen Dateiendungen wegen dieser Kleinigkeit auf php zu setzen, ich brauche ja nur ein kleines Script.

Gruß
Jens
 
Damit dein PHP-Code verarbeitet werden kann, muss der Server wissen, in welchen Dateien er nach PHP-Code suchen soll. Voreingestellt ist dort meistens .php, du kannst aber auch .html Dateien Parsen lassen, dafür musst du deine php.ini (oder war es die httpd.conf?) anpassen.
 
Zuletzt bearbeitet:
Genau das meine ich: Kann man nicht an einer Stelle im HTML-Code sagen:

Binde jetzt die Ausgabe von "http://www.meinedomain.com/verzeichnis/beispiel.php" ein? Das ist ja eine Angabe der PHP-Datei, ich weiß nur nicht, wie da der passende Befehl von HTML lautet.
 
Nein, kann man nicht, denn HTML bietet kein solche Funktion. Das musst du schon mit PHP und include machen und dann die Konfigurationsdatei ändern, wenn du deine Endungen nicht ändern willst.
 
Zuletzt bearbeitet:
Er könnte allerdings in einem externen Script eine Grafik erzeugen und darauf die IP schreiben.
In seinem HTML-Dokument könnte er es ganz einfach als Grafik mit <img> wieder einbinden.
Auch wenn's umständlich und mir vom SInn her nicht ganz ergründlich ist.

MfG Icy
 
Oder du erstellst eine .htaccess Datei(Sie muss .htacess heißen, also ohne das etwas vor dem .htaccess steht) worin steht:
Code:
[FONT=Courier New]AddType application/x-httpd-php php php4 php3 html htm[/FONT]
Das bedeutet das Dateien mit der Endung: .php, .php4, .php3, .html und .htm als PHP interpretiert werden.

Übrigens: Mein 1.Beitrag :D
 
Habe mir jetzt einen Workaround überlegt, bei dem ich nicht ganz weiterkomme:

Ich binde eine Objekt
HTML:
<object id="ipadresse" data="getIP.php"></object>
oder ein iframe
HTML:
<iframe id="ipadresse" src="getIP.php"></iframe>
ein und versuche dann, den Inhalt, den ich über
PHP:
<?php
    echo $REMOTE_ADDR;
?>
hineinschreibe, in Javascript auszulesen, z.B. mit
Code:
var ip = document.getElementById('ipadresse').???;
Und eben da weiß ich nicht, welches Argument ich verwenden soll. Wie komme ich an den Text-Inhalt von einem Objekt (eher unmöglich, oder?) oder einem Iframe? Letzteres geht ja eigentlich mit innerHTML, aber das hat auch nicht geklappt.

Hat jemand eine Idee?

Gruß
Jens
 
Weil ich selbst mit .htaccess-Datei nicht die direkten Daten hätte - ich will die IP ja als Variable nach Javascript importieren. Es würde ja nach wie vor, selbst mit geänderter .htaccess-Datei, eine IP im Quellcode stehen, die ich dann in JS einlesen müsste.

Durch was muss ich das ??? ersetzen, damit es klappt? Bzw. wie kann ich ein Objekt / Iframe auslesen?
 
PHP:
<script type="text/javascript">
  var ip = $_SERVER['REMOTE_ADDR'];
</script>

Damit wolltest du die ip in deinem Script verwenden können.
 
Code:
var ip = "<?php print $_SERVER['REMOTE_ADDR']; ?>";
Warum lässt du nicht einfach die einzelne Datei mittels PHP parsen?
Code:
<Files "foo.htm">
ForceType application/x-httpd-php
</Files>
 
_Thor_, das ist ne gute Lösung, darauf bin ich gar nicht gekommen, ich werde das demnächst ausprobieren und hier berichten.

crash: Es handelt sich um ca. 200 Dateien, die ich anpassen muss, natürlich könnte ich einstellen, dass alle HTML-Dateien php-geparst werden, aber für diese eine Sache halte ich das für unnötig, wenn es mit etwas Trickserei auch mit JS geht.

//edit: Eure Vorschläge scheinen bei mir nicht zu funktionieren; so wie ich das verstanden habe soll ich _Thor_'s PHP-Code einfach so in die ip.php, die ich mit einem iframe ausführe, packen, oder? Klappt aber nicht - ip ist undefined.

Genauso, wenn ich crash's Version verwende - in diesem Falle ist ip dann zwar defined, hat aber den Inhalt <?php print $_SERVER['REMOTE_ADDR']; ?>... Habe ich eure Vorschläge nicht richtig verstanden?

Danke für eure Hilfe,
Gruß Jens
 
Zuletzt bearbeitet:
PHP:
<script type="text/javascript">
  var ip = $_SERVER['REMOTE_ADDR'];
</script>


Irre ich mich oder behandelst du hiern php Befehl in Javascript?

Geht sowas denn? Schließlich würde der Server den Befehl ja nicht als php erkennen ohne <? ?>

wenn dann doch

PHP:
 <script type="text/javascript">
  var ip = <? $_SERVER['REMOTE_ADDR']; ?>
</script>
 
Irre ich mich oder behandelst du hiern php Befehl in Javascript?

Geht sowas denn? Schließlich würde der Server den Befehl ja nicht als php erkennen ohne <? ?>

wenn dann doch

PHP:
 <script type="text/javascript">
  var ip = <? $_SERVER['REMOTE_ADDR']; ?>
</script>

PHP:
 <script type="text/javascript">
  var ip = <?=$_SERVER['REMOTE_ADDR']; ?>
</script>

und ja, das geht. manche übergaben muss man allerdings erst bearbeiten und in entsprechende anführungszeichen setzen.

im code werden zuerst die variablen des js definiert und das komplette js wird dann an den client ausgeliefert.
ich nutze sowas z.b. für ticker, die man bequem per php admin-oberfläche definieren kann. so lese ich z.b. eingetragene events eines forums aus und lasse per ticker die aktuellsten 10 ausgeben.
 
Zurück
Oben