Algemeen forum ontrent de ontwikkelng, design en hosting van weergerelateerde websites (dit laatste om een beetje on topic te blijven)
#72700
Goedenavond mensen,

Ik maak al jaren gebruik van de xml-feed van buienradar met een oud php-script.
Dat heeft altijd foutloos gewerkt, maar van de ene op de andere week is die er mee gestopt.
Ik heb buienradar gevraagd of zij wellicht iets aan de xml van xml.buienradarPUNTnl hebben veranderd, maar dat likt niet het geval.
Het vreemde is dat op alle andere websites, die eenzelfde script gebruiken, de tabel gewoon zichtbaar is.
Zou dit iets met de PHP versie te maken kunnen hebben?
Ik gebruik nu PHP versie 7.4, maar als ik terugschakel naar de eerdere versies maakt geen verschili.
(overigens geen idee hoe lang het duurt voordat een nieuw ingestelde versie ook daadwerkelijk actief is op de webiste, dus misschien ben ik niet geduldig genoeg).
Het heeft 2 dagen geleden klaarblijkelijk heel even gewerkt op versie 7.4, maar de dag erna was de tabel weer onzichtbaar.

Zou iemand trouwens zijn werkende php-code kunnen posten hier, zodat ik die kan proberen?
Alvast bedankt voor jullie reactie en/of code.

PS: zie ook de betreffende pagina:
https://www.bommeltje.nl/website/weerst ... nederland/
#72701
Het omschakelen naar een andere PHP versie is bij (de meeste ) providers direct.

De xml ziet er normaal uit en wordt normaal zonder problemen opgehaald.

De pagina met het probleem is eigenlijk https://www.bommeltje.nl/weer2/weer-meetstations.php
Maar het script weer-meetstations.php kunnen we niet inkijken, geen sce=view

Ik heb of dit forum gezocht en twee topics gevonden waarin dergelijke scripts worden besproken
gegevens meetstations KNMI weergeven
xml buienrader includen

Die scripts maken gebruik van "<?echo" (niet meer gelding in PHP7) in plaats van "<?php echo"
Als je die schrijfwijzes aanpast zou het script moeten werken.
Zo niet toch even uw huidige script posten hier op het forum:
Maak een kopie van het script en hernoem het als weer-meetstations.txt
Dan hier als bijlage op het forum plaatsen dan kunnen we kijken wat er mis gaat.

Wim
#72702
Goedemorgen Wim,

De code is deze:
Code: Selecteer alles
<?php 
$url = "https://xml.buienradar.nl"; 
$xml = simplexml_load_file($url); 
foreach($xml->weergegevens->actueel_weer->weerstations->weerstation as $weer) 
{ 
$string = $weer->stationnaam;
    echo "<tr bgcolor=#D5E1F0><td><b>&nbsp;";
$patterns[0] = '/Meetstation /';
$replacements[0] = '';
echo preg_replace($patterns, $replacements, $string);"</b></td>";
    echo "<td><center>".$weer->temperatuurGC."</center></td>"; 
    echo "<td><center>".$weer->luchtvochtigheid."</center></td>"; 
	echo "<td><center>".$weer->zichtmeters."</center></td>";
    echo "<td><center>".$weer->windrichting." (".$weer->windsnelheidBF.")</center></td>"; 
    echo "<td><center><img src='".$weer->icoonactueel."' height=30 width=37></center>"; 
	echo "<td><center>".$weer->luchtdruk."</center></td></tr>";
} 
?>
Overigens hoor ik van mijn hoster dat zij een "Access denied" krijgen.
Blijkbaar heeft Buienradar mij geblocked (want ik geloof niet dat er een API of iets dergelijks nodig is om dit script te draaien!?
#72705
WeerstationGraveNL schreef: 27 nov 2020, 11:34 Goedemorgen Wim,
De code is deze:
Code: Selecteer alles
<?php 
$url = "https://xml.buienradar.nl"; 
$xml = simplexml_load_file($url); 
foreach($xml->weergegevens->actueel_weer->weerstations->weerstation as $weer) 
{ 
$string = $weer->stationnaam;
    echo "<tr bgcolor=#D5E1F0><td><b>&nbsp;";
$patterns[0] = '/Meetstation /';
$replacements[0] = '';
echo preg_replace($patterns, $replacements, $string);"</b></td>";
    echo "<td><center>".$weer->temperatuurGC."</center></td>"; 
    echo "<td><center>".$weer->luchtvochtigheid."</center></td>"; 
	echo "<td><center>".$weer->zichtmeters."</center></td>";
    echo "<td><center>".$weer->windrichting." (".$weer->windsnelheidBF.")</center></td>"; 
    echo "<td><center><img src='".$weer->icoonactueel."' height=30 width=37></center>"; 
	echo "<td><center>".$weer->luchtdruk."</center></td></tr>";
} 
?>
Overigens hoor ik van mijn hoster dat zij een "Access denied" krijgen.
Blijkbaar heeft Buienradar mij geblocked (want ik geloof niet dat er een API of iets dergelijks nodig is om dit script te draaien!?
Wel een heel klein stukje uit de pagina https://www.bommeltje.nl/weer2/weer-meetstations.php
In de code die u geeft zit zelfs geen "<table "
Maar goed, deze incomplete code werkt zonder probleem, zie bijgevoegd plaatje, onder PHP 7.4.2

Dus als de rest van de pagina ook goed werkt => ja de tabel definitie en teksten werken goed, inclusief wat na de include moet komen.
Als de include het juiste script laadt,
en als in de php ini niet iets geblokkeerd is
dan zal inderdaad een blokkade van KNMI zijn.

Ben benieuwd wat ze als verklaring geven vanuit KNMI.
En of ze de complete 'hoster" of alleen uw website geblokkeerd hebben.

Succes,
Wim
Bijlagen
knmi.jpg
knmi.jpg (87.92 KiB) 176 keer bekeken
#72707
Dankjewel Wim, als het een blokkade is (en daar lijkt dan toch sterk op), dan moet die door Buienradar ingesteld zijn, maar die geven geen reactie op mijn berichten.
Wel interessant dat je zegt dat het misschien de gehele hoster kan zijn (want je betrekt zoiets al gauw op je eigen website).
Ik ga dat in ieder geval melden bij hen.
Bedankt voor het nakijken Wim 👍