Versio

XML Reader Fout.

Overzicht Reageren

Dalando De Zuil

Dalando De Zuil

23/08/2010 13:39:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script type="text/javascript">
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","http://ipinfodb.com/ip_query.php?ip=<?php echo $_SERVER['REMOTE_ADDR']; ?>&timezone=false",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.write("<table border='0'>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
  {
  document.write("<tr><td>");
  document.write("Je ip:</td><td>")
  document.write(x[i].getElementsByTagName("Ip")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write("</tr>")
  document.write("<tr><td>");
  document.write("Je Internet status:</td><td>")
  document.write(x[i].getElementsByTagName("Status")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write("</tr>")  
  document.write("<tr><td>");
  document.write("Je land:</td><td>")
  document.write(x[i].getElementsByTagName("CountryName")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write("</tr>")
  document.write("<tr><td>");
  document.write("Je Regionaam:</td><td>")
  document.write(x[i].getElementsByTagName("RegionName")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write("</tr>")
  document.write("<tr><td>");
  document.write("Je Stad:</td><td>")
  document.write(x[i].getElementsByTagName("City")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write("</tr>")

}
document.write("</table>");
</script>


Ik zocht een tooltje om wat data over mijn bezoeker weer te geven. Nu is dat gelukt met ipinfodb. Zocht ik een script om dat om te bouwen naar een html code, had ik dit gevonden. Eenmaal aangepast werkt het niet:
bij deze regel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
xmlhttp.open("GET","http://ipinfodb.com/ip_query.php?ip=<?php echo $_SERVER['REMOTE_ADDR']; ?>&timezone=false",false);

Kreeg ik de error: Toegang geweigerd.

Wat is er aan de hand?
 
PHP hulp

PHP hulp

25/05/2012 19:52:29
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Steff   an

Steff an

23/08/2010 13:47:25
Quote Anchor link
Heel simpel.. Je mag geen "Cross domain" request doen van je browser.

http://en.wikipedia.org/wiki/Same_origin_policy
Gewijzigd op 23/08/2010 13:48:38 door Steff an
 
Dalando De Zuil

Dalando De Zuil

23/08/2010 13:55:36
Quote Anchor link
Bedankt.. Ik zal ip info db daarover inlichten, dat hun service niet mogelijk is!
 
Jelmer rrrr

Jelmer rrrr

23/08/2010 20:26:02
Quote Anchor link
Het is meer een beperking van je browser dan aan hun kant.

Wat ze wel zouden kunnen doen is http access control implementeren, wat eigenlijk niet meer is dan Access-Control-Allow-Origin:* als header meesturen. Geen idee of Internet Explorer er ook een interface voor heeft, maar Firefox en Webkit ondersteunen dat al met hun XMLHttpRequest object.

Wat jij zou kunnen doen om het te fixen is op je eigen host (hetzelfde domein als waar de html vandaan komt waar je dit stukje javascript in gebruikt) een proxy-scriptje zetten. Gewoon fopen & fpassthru (of echo en file_get_contents, nog makkelijker)
Gewijzigd op 23/08/2010 20:26:52 door Jelmer rrrr
 
Hertog Jan

Hertog Jan

23/08/2010 20:31:59
Quote Anchor link
Waarom zou je dit uberhaubt met JS willen als het ook gemakkelijk met PHP kan
 



Overzicht Reageren