[PHP] Code werkt niet in functie, wel rechtstreeks
Hallo mensen,
Ik heb een functie in PHP, in de werkelijkheid is code ingewikkelder, maar nu hou ik het simpel, want deze simpele versie werkt ook niet:
als ik hem op deze manier aanroep krijg ik geen error:
Maar de strings in het taal bestand worden dan ook niet geladen.
Maar doe ik index.php het volgende zonder functie:
Dan wel...
Wat doe ik nu mis?
~Thomas
Ik heb een functie in PHP, in de werkelijkheid is code ingewikkelder, maar nu hou ik het simpel, want deze simpele versie werkt ook niet:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
als ik hem op deze manier aanroep krijg ik geen error:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
//include important settings, variables, and functions
require_once ('Settings.php');
require_once 'include/functions.php';
//parlez vous...
load_language(setting("language"));
?>
//include important settings, variables, and functions
require_once ('Settings.php');
require_once 'include/functions.php';
//parlez vous...
load_language(setting("language"));
?>
Maar de strings in het taal bestand worden dan ook niet geladen.
Maar doe ik index.php het volgende zonder functie:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
//include important settings, variables, and functions
require_once ('Settings.php');
require_once 'include/functions.php';
//parlez vous...
require_once('include/languages/'.setting("language").'.php');
?>
//include important settings, variables, and functions
require_once ('Settings.php');
require_once 'include/functions.php';
//parlez vous...
require_once('include/languages/'.setting("language").'.php');
?>
Dan wel...
Wat doe ik nu mis?
~Thomas
Leuk een foutmelding.
Er zijn honderden foutmeldingen.
Stop! Keer om!
Krijg je die?
Er zijn honderden foutmeldingen.
Stop! Keer om!
Krijg je die?
Nee ik krijg: Kijk uit voor vallende piano's
Ik zeg duidelijk dat er GEEN foutmeldig komt...
Met "Dan wel..." bedoelde ik dat de strings dan wel worden geladen...
Ik zeg duidelijk dat er GEEN foutmeldig komt...
Met "Dan wel..." bedoelde ik dat de strings dan wel worden geladen...
En de error reporting en display_errors staan wel aan?
In settings.php staat
Dus ja...
Maar je zou toch zeggen dat:
Met als load_language($lang):
(wat niet werkt)
Precies hetzelfde is als
Dus ja...
Maar je zou toch zeggen dat:
Met als load_language($lang):
Code (php)
1
2
3
4
5
2
3
4
5
<?php
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
(wat niet werkt)
Precies hetzelfde is als
Gewijzigd op 03/10/2010 14:46:38 door Thomas de Roo
Wat laad het eigenlijk in ?
Je zit namelijk in een functie dus alles in die functie wordt binnen die functie ingeladen:
Zie global.
Je zit namelijk in een functie dus alles in die functie wordt binnen die functie ingeladen:
Code (php)
Zie global.
de functie moet een bestand includeren waarin arrays met teksten staan...
Lees php.net.
Zie mijn voorbeeld.
Het wordt dus wel ingeladen.
Zie mijn voorbeeld.
Het wordt dus wel ingeladen.
Of ik snap jou, niet of jij snapt mijn niet...
Er is een bestand voor elke taal: dutch.php bijv.
In dat bestand staan variables (arrays) met teksten die global ik voordat ik ze gebruik,
bijv.
Hiervoor moet het taal bestand zijn geincludeerd want wel rechtstreeks lukt maar niet met de functie loadLanguage();
Wat ik raar vind want de functie die header1.php includeert werkt wel...
Er is een bestand voor elke taal: dutch.php bijv.
In dat bestand staan variables (arrays) met teksten die global ik voordat ik ze gebruik,
bijv.
Code (php)
Hiervoor moet het taal bestand zijn geincludeerd want wel rechtstreeks lukt maar niet met de functie loadLanguage();
Wat ik raar vind want de functie die header1.php includeert werkt wel...
Je hebt de variabelen dan nog steeds niet global.
En eigenlijk is global ook wel vies.
Jij snapt het dus niet.
En eigenlijk is global ook wel vies.
Code (php)
Jij snapt het dus niet.
Welke variabelen moet ik dan global hebben> =)
Het is de plek waar de global keyword staat.
Ehm?
Waar moet die dan staan?
Waar moet die dan staan?
Voor de variabelen in je functie.
Daarom is global dus vies.
Daarom is global dus vies.
Maar ligt het aan mij of gebruikt:
geen variabelen die global moeten zijn?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
function load_language($lang) {
require_once('include/languages/'.$lang.'.php');
}
?>
geen variabelen die global moeten zijn?
Lees nouw eens een keer wat er op php.net staat.
Variabelen binnen functies zijn alleen binnen functies toegankelijk.
Wil je ze daarbuiten gebruiken. Gebruik dan global.
Jij include in die functie allerlei variabelen.
Dus die moeten binnen die functie het keyword global hebben.
Variabelen binnen functies zijn alleen binnen functies toegankelijk.
Wil je ze daarbuiten gebruiken. Gebruik dan global.
Jij include in die functie allerlei variabelen.
Dus die moeten binnen die functie het keyword global hebben.
Ik snap het wel.
Maar wat moet er dan achter global staan in die functie?
Moet ik dan alle variabelen (onbepaald aantal) uit het geincludeerde bestand een global keyword geven?
Maar wat moet er dan achter global staan in die functie?
Moet ik dan alle variabelen (onbepaald aantal) uit het geincludeerde bestand een global keyword geven?
JA!!!!!!!!!!!
Dat staat er toch op php.net!
Alle variabelen binnen je functie die je GLOBAL wilt gebruiken moeten het keyword global hebben.
Dat staat er toch op php.net!
Alle variabelen binnen je functie die je GLOBAL wilt gebruiken moeten het keyword global hebben.
Maar nou is het zo dat het aantal variabelen kan veranderen, dus er komt een bij of er gaat een af...
Hoe kan ik een loopje alle variabelen op global zetten?
Hoe kan ik een loopje alle variabelen op global zetten?
Snap je nu nog niet dat global vies / onhandig / slecht / onzin / troep is?
Wat moet ik dan doen ipv. global? D:
Toevoeging op 03/10/2010 16:21:50:
En het was opgelost =)
Toevoeging op 03/10/2010 16:21:50:
En het was opgelost =)




