Ik heb dit nog nooit meegemaakt, en is ook niet te debuggen.

1) Ik heb een HTML_ROOT define:

2)
<div class="website-footer website-footer-default menu-content">
                	<p>website.nl </p>
                	<ul>
                    	<li>[b]<a href="[/b] (rode tekst)




Hij loopt dan vast, zonder enige foutmelding in de debug console.

Dit is de code:

	<li><a href="<?=HTML_ROOT?over_ons">Over ons</a></li>
                    	<li><a href="<?=HTML_ROOT?>webshop_aanmelden">Webshop aanmelden?</a></li>                    	
                    	<li><a href="<?=HTML_ROOT?>veelgestelde_vragen">Veelgestelde vragen</a></li>
                    	<li><a href="<?=HTML_ROOT?>contact">Contact</a></li>

short_open_tag in php.ini is aan en werkt op vele andere pagina's ook gewoon.

Als ik de eerste kind LI verander naar:

	<li><a href="[u]https://www.vergelijkprijs.nl/[/u]over_ons">Over ons</a></li>
                    	<li><a href="<?=HTML_ROOT?>webshop_aanmelden">Webshop aanmelden?</a></li>                    	
                    	<li><a href="<?=HTML_ROOT?>veelgestelde_vragen">Veelgestelde vragen</a></li>
                    	<li><a href="<?=HTML_ROOT?>contact">Contact</a></li>

Dan werkt alles prima. Daarna doet dezelfde HTML root bij de volgende regels het prima.


ini_set('display_errors',1);
error_reporting(E_ALL); 

Geeft ook gen enkele error.

Heel vreemd waarom hij op sommige pagina's met dezelde footer niet vastloopt en bij andere wel.
Begin met toevoegen van spaties en een puntkomma (op alle regels waarop dit van toepassing is) en kijk wat het resultaat is:


<li><a href="<?= HTML_ROOT; ?>webshop_aanmelden">


Dit:

<li><a href="<?=HTML_ROOT?over_ons">Over ons</a></li>
?>

zou je minimaal moeten herschrijven naar:

<li><a href="<?= HTML_ROOT; ?>?over_ons">Over ons</a></li>




Overigens staan er BB-tags ( [ignore] en [/ignore] ) in je link, dit zal niet werken (maar dit staat los van je probleem).


Staat dit bovenaan je script?
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>


Mogelijk moet dit in je php.ini nog aangezet worden:
display_errors = on


Dit zou eventueel ook kunnen met een .htaccess-bestand d.m.v. het volgende (als de server-configuratie dat toelaat):
php_flag display_errors 1
.
Het probleem is niet dat:

ini_set('display_errors',1);
error_reporting(E_ALL);

niet werkt, hij report alles als er fouten zijn, maar er is geen fout.
Nu blijkt hij weer te werken, zonder enige reden.

Heb je wel alles aangepast naar het volgende? <?= HTML_ROOT; ?>
Niet zonder enige reden, code werkt niet ineens wel en dan ineens weer niet...

Kijk nog eens goed naar de eerste regel:
<li><a href="<?=HTML_ROOT?>***ONTBREEKT***over_ons">Over ons</a></li>

Je sluit daar het PHP-blok niet goed af, er mist een sluitingshaak, het groter-dan teken ">", net voor ***ONTBREEKT***. Dit heb ik hier maar even toegevoegd want deze site kan het niet aan lol.

Wow, de detectie voor codeblokken is zo ontzettend brak op deze site.

Anyhow, om hier een melding over te krijgen moet je waarschijnlijk
ini_set('display_startup_errors', true);

aan het begin van je code toevoegen.
<li><a href="<?=HTML_ROOT?>over_ons">Over ons</a></li>

Is niks mis mee, er ontbreekt helemaal niks, volgens mij heb je niet goed gekeken Thomas.

Het werkt op vele plaatsen wel. Nu werkt het ineens wel zo, terwijl de code hetzelfde is en kan het niet debuggen.

als het maar blijft werken, vreemd gedrag.
Gast, kijk eens in je oorspronkelijke bericht in het codeblok onder "Dit is de code:".

Regel één.

Ik zie daar geen complete sluitingscode voor een PHP-blok. Het groter-dan teken ontbreekt daar toch echt hoor...

> Nu werkt het ineens wel zo
Gebruik je een versioningsysteem waarmee je dit ook echt 100% zeker weet? Weet je héél zeker dat er niets is veranderd?

> terwijl de code hetzelfde is
Dat betwijfel ik. Zoals ik al zei. Code doet niet ineens iets anders elke keer als je de pagina ververst. Code doet exact wat jij programmeert.

> en kan het niet debuggen.
display_startup_errors al geprobeerd?

Als ik dit probeer krijg ik een vette internal server error (weliswaar PHP 7+, nginx, is waarschijnlijk wat stricter), en in mijn errorlog wordt melding gemaakt van een parse error. Die zou jij ook moeten krijgen (in ieder geval in de logs).

Daarbij, gebruik je een editor met syntax highlighting? Dan zou zoiets toch direct evident moeten zijn?
Ja de eerste regel idd was niet afgesloten met >
Maar dat schreef ik hier handmatig juist fout, in de code stond hij wel goed, anders licht hij ook uit etc , dus dat valt direct op.

<a href="<?=HTML_ROOT?>over_ons">Over ons</a>

Het vreemde is gewoon dat deze code op andere pagina's maar bepaalde niet werkt. Ik heb nu een andere jquery en wat punnten geminimaliseert, en het probleem lijkt zich niet meer voor te doen.

ik zie trouwens ook als ik een html validatie wil doen het volgende:

500 Can't connect to www.vergelijkprijs.nl:443 (certificate verify failed)
Ik zie een 500-error in die melding.
Dus blijkbaar gaat er toch wat fout, met je certificaat. Zo te zien heb je die niet aangemaakt?
NEE, dat is het niet,


ini_set('display_startup_errors', true); geeft ook niks, maar daardoor doet hij het wel

Dit is een erg vreemd probleem en niemand weet het antwoord

Reageren