Ik ben nu al een week aan het zoeken waarom het scriptje dat ik heb niet draait.
De server draait met Ubuntu 16.04LTS server, en daar draait PHP 7 op.
Ik krijg totaal geen output van dit script.
Nu heb ik wel gelezen dat er mogelijk dingen zijn veranderd in syntaxing tov php5, maar ik weer nu echt even niet waar ik het in moet zoeken.
Het gaat om het volgende script:
<?
/*
* PHP code snippet to calculate the distance and bearing between two
* maidenhead QTH locators.
*
* Written by Fabian Kurz, DJ1YFK; losely based on wwl+db by VA3DB.
*
* You can do whatever you want with this code.
*
*/
function valid_locator ($loc) {
if (ereg("^[A-R]{2}[0-9]{2}[A-X]{2}$", $loc)) {
return 1;
}
else {
return 0;
}
}
Inderdaad, een compleet blanke pagina wil zeggen dat er iets niet pluis is, in de errorlogs kun je dan meestal terugvinden wat er aan scheelt.
Ook het aanzetten van het melden+weergeven van fouten (wat in wezen de error(log)s direct op je scherm toont, zodat je niet in aparte bestanden hoeft te gaan graven) kan inzicht verschaffen.
Dit doe je als volgt (zet de volgende snippet bovenaan in het script):
<?php
error_reporting(E_ALL); // welke fouten je wilt tonen (alle)
ini_set('display_errors', 'stdout'); // waar je fouten wilt tonen (het scherm)
?>
En zoals @Jacco aangeeft is ereg() vervallen in PHP 7 (en al sinds PHP 5.3 deprecated).
Een alternatieve implementatie van valid_locator() zou zoiets moeten zijn:
Hallo allen, wat een reacties geweldig.
Voor mij is PHP echt helemaal een nieuwe wereld, ik ben er nu 2 weken mee bezig om een mysql database uit te lezen.
Dat is inmiddels helemaal gelukt :-), elke dag leer ik weer wat nieuws.
Ik ga me zeker meer verdiepen in de error handeling, zeer nutting inderdaad.
Vanavond zal ik eens kijken of het stukje code van Thomas, en de eventuele aanpassing van Rob soelaas biedt.
In iedergeval heel erg bedankt voor het mee denken :-)
Ik heb vanmiddag even tijd gehad om het aangepaste script te testen.
Echter is krijg er geen data uit..
Ik heb het stukje script toegevoegd van Thomas wat betreft de error reporting.
En ik heb het preg_match stukje toegepast. met en zonder de aanpassing van Rob.
het scherm blijft blank, en ik zie ook geen error output verschijnen.
Het ziet er nu als volgt uit:
<?php
error_reporting(E_ALL); // welke fouten je wilt tonen (alle)
ini_set('display_errors', 'stdout'); // waar je fouten wilt tonen (het scherm)
?>
<?
/*
* PHP code snippet to calculate the distance and bearing between two
* maidenhead QTH locators.
*
* Written by Fabian Kurz, DJ1YFK; losely based on wwl+db by VA3DB.
*
* You can do whatever you want with this code.
*
*/
function valid_locator($loc) {
return preg_match('/^[A-R]{2}[0-9]{2}[A-X]{2}$/', $loc) === 1;
}