Ik ben nog druk aan het dumpen naar MySQL onder Linux, maar dacht in de tussentijd alvast het fs2004.php script te testen.
Daar ondervind ik problemen, de html output is helemaal messed-up, dus functies en html door elkaar.
De output begint met “1) { ?>” en dat is te vinden op regel 41 van het script.
Het lijkt alsof hij daar denkt dat de php-code (voor het moment) is afgelopen en geeft dus dingen als output die eigenlijk functies zijn.
Hoop dat ik het zo goed uitleg, m’n kennis van php is niet voldoende het probleem zelf te kunnen ontdekken.
Samengevat: stukken php-code worden naar de browser geparsed.
Ik heb uit een oud script iets gehaald. Je zal zelf even naar how-to van php.ini en httpd.conf moeten gaan kijken hoe het echt moet.
Onderstaande httpd.conf regels geeft aan dat PHP files met een bepaalde extensie gaat voorbewerken. Als de php code 1 op 1 worden doorgegeven dan werkt dit niet goed bij jou.
Ik begrijp wat je bedoelt, maar op m’n server staan talloze html en php files die allen naar behoren functioneren, vandaar dat ik het probleem ook niet echt begrijp…
Ik zie op regel 41 die “?>” en “<?” staan, het lijkt erop alsof de parser (?) daar denkt dat de php-code is afgelopen en hij het dus direct kan doorgeven aan de browser, is zoiets mogelijk?
Ik heb zelf ook even gedacht aan een mogelijk php-config probleem…
Het bleek dat inderdaad de hele php-code niet correct werd geparsed, mijn fout dat ik dat niet direct zag.
Alle “<?” heb ik vervangen door “<?php” om het parsen werkend te krijgen.
Ook stonden er wat dingen als “<?php= $street ?>” waarbij ik de “=” heb verwijderd.
Bij het aanroepen van de functie om de versie van de database te bepalen werd de functie aangeroepen als “functie()” wat “echo functie()” moest zijn.
Ik heb nog weinig getest, maar het lijkt zo te functioneren!
Mijn versie van fs2004.php is volgens mij de nieuwste versie gezien ik die net enkele dagen geleden heb gedownload.
Ik zal mijn versie wel even naar je mailen rgj, misschien heb je daar nog iets aan in de toekomst…
De oplossing was simpeler. In plaats van overal <? door <?php vervangen kan je ook short_open_tag aanzetten in je PHP.ini.
<?= is een kortere schrijfwijze voor <? echo. Wanneer je dus geen short_open_tag gebruikt, en <? vervangt door <?php, dan moet je ook OVERAL het = teken door echo vervangen.
In mijn code stond dus bv. <?= $errortext; ?> , dat dien je dus te vervangen door <?php echo $errortext; ?>
Inderdaad, ik heb die short_open_tag nu enabled en dingen functioneren nu beter dan voorheen, ook die pulldown menu’s voor het selecteren van een stad of straat werken goed.
Ik heb inmiddels zelf aanpassingen gedaan dat je ook kunt zoeken op naam: “automatisering”.
Voor als je zo’n bedrijf zoekt maar de naam niet meer weet, met beveiliging dat er minimaal ook een plaatsnaam moet zijn ingevuld.
(Anders wordt het zo’n zware klus…)