Probleem met global $var in functie
namelijk de volgende:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
function display_correct_content()
{
global $content;
if (isset($_GET['page'])){ // grab value
$content = load_page($_GET['page']); // if this has a set create the variable
}
}
{
global $content;
if (isset($_GET['page'])){ // grab value
$content = load_page($_GET['page']); // if this has a set create the variable
}
}
deze wordt aangeroepen in mijn online.php
Code (php)
nu lijkt het erop dat de $content leeg blijft. Eerst dacht ik dat mijn load_page functie fout was. Nu zag ik ergens voorbij schieten dat de wijze waarop ik mijn var in een global zet niet meer werkt vanaf php 5.5.
klopt dit? Of ben ik nu echt zo een NooB dat ik een mega fout gewoon niet zie.
Gewijzigd op 13/04/2015 10:17:00 door Marcel Santing
Gewijzigd op 13/04/2015 10:06:28 door - Ariën -
Notice: Undefined variable: content
Vervolgens, unidentified index kun je oplossen door aan het begin van je functie $content als leeg te definiëren:
Gewijzigd op 13/04/2015 11:33:16 door Jeffrey van Rossum
Jeffrey van Rossum op 13/04/2015 11:32:06:
Dat laatste is helaas ook niet helemaal correct. Je zult $content['function'] moeten definiëren.
Gewijzigd op 13/04/2015 13:54:31 door Frank Nietbelangrijk
Gewoon $content returnen in display_correct_content en $content = display_correct_content();. Dan heb je het hele probleem niet meer, en komt (op de lange termijn zeker) de leesbaarheid van je code ten goede
Jacco Engel op 13/04/2015 14:06:46:
Als dit de volledig scope van $content is waarom gebruik je dan uberhaupt een global.
Gewoon $content returnen in display_correct_content en $content = display_correct_content();. Dan heb je het hele probleem niet meer, en komt (op de lange termijn zeker) de leesbaarheid van je code ten goede
Gewoon $content returnen in display_correct_content en $content = display_correct_content();. Dan heb je het hele probleem niet meer, en komt (op de lange termijn zeker) de leesbaarheid van je code ten goede
Jacco,
ik heb op jouw manier dit nu toegepast, de reden waarom ik deze fout kreeg was dat de header niet goed werdt geladen in mijn online.php <de verwijzing stond in de index.php> hoewel hij geen fout gaf op de functies bleken variabelen toch problemen te geven.