login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Veel info defineren

Offline ikki007 - 06/04/2007 14:51
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hallo,

Wat is de beste manier om veel info ergens in te proppen (defineren).
In een admin panel kan heel veel ingesteld worden.. bijvoorbeeld:

-Sitenaam
-Tijdzone
-SiteURL
-Administrator E-mail
-Slogan
-Description

En nog veel meer, misschien wel 100.
Deze worden in een database opgeslagen.
Hoe kan ervoor zorgen dat ze in 1 keer ergens in worden gezet (variabel? array?) en dat ik ze dan verder door het hele systeem kan gebruiken?
Config.inc.php lijkt me de beste file om dit te doen omdat die overal ge-required wordt.

~ikki

13 antwoorden

Gesponsorde links
Offline mesynthetix - 06/04/2007 14:55
Avatar van mesynthetix Nieuw lid Ik zou hiervoor een common.inc.php maken. Daar haal je het op uit de DB in een variabele (bijvoorbeeld $settings). Die kun je dan overal gebruiken.
Offline ikki007 - 06/04/2007 14:58
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Hoe werk ik met van die variabelen zoals:

$settings->sName
$settings->aEmail

~ikki
Offline mesynthetix - 06/04/2007 15:06 (laatste wijziging 06/04/2007 15:07)
Avatar van mesynthetix Nieuw lid Ik zou gewoon alles uit de DB ophalen en in een array zetten:

  1. <?php
  2. $settings = array();
  3. $sql = mysql_query('SELECT * FROM settingstabel');
  4. while ($array = mysql_fetch_assoc($sql)) {
  5. $settings[$array['name']] = $array['value'];
  6. }
Offline ikki007 - 06/04/2007 15:11
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
En dat gewoon op elke pagina die het nodig heeft laten includen?
Kan dat geen kwaad? Al die connectie's.
Offline Wim - 06/04/2007 15:14
Avatar van Wim Crew algemeen maybe zit het bij in $_SERVER?

foreach ($_SERVER as $k => $v)
echo ($k . ' - ' . $v);
Offline ikki007 - 06/04/2007 15:21
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Wimmarien, kan je dit misschien beter uitleggen, wat doet het? En hoe te gebruiken, want nu ben ik de kluts even kwijt 
Offline Thomas - 06/04/2007 15:27
Avatar van Thomas Moderator Heb je al die gegevens continu nodig?
Zoniet... sla een verwijzing (id) naar deze data op, en vraag de benodigde gegevens op... wanneer je deze nodig hebt.
Offline ikki007 - 06/04/2007 15:31
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Ja, die die heb ik continu nodig, aangezien de informatie van de title tags en meta tags erin staat, enz.
Offline mesynthetix - 06/04/2007 15:38 (laatste wijziging 06/04/2007 15:38)
Avatar van mesynthetix Nieuw lid Dan zet je die code in een soort van common.inc.php. En dan include je die op elke pagina (na de connectie van de DB) ;).

@wimmarien: Je zit er volledig naast.
Offline ikkedikke - 06/04/2007 17:30
Avatar van ikkedikke PHP expert Dit is niet echt het doel van een database, er van uit gaand dat de data als administrator's email niet constant veranderd;)
Je kan ook een bestandje nemen en die indelen als ini-file.
dan is er een functie als parse_ini_file geloof ik die dit omzet naar een array.
Offline Wim - 06/04/2007 18:02
Avatar van Wim Crew algemeen mesynthetix: administrator email & site-url zitten wel degelijk in $_SERVER....
Offline Ibrahim - 06/04/2007 18:03
Avatar van Ibrahim PHP expert @wimmarien, ja maar dan van de webserver he 
Offline Grayen - 06/04/2007 19:35
Avatar van Grayen PHP ver gevorderde Misschien zijn deze 2 oplossingen wat?

  1. <?php
  2. $GLOBALS['settings'] = array
  3. (
  4. 'test' => 'De variable werkt correct!',
  5. 'url' => 'www.website.com'
  6. );
  7. echo $GLOBALS['settings']['test'];
  8. ?>


dan kun je ze overal gewoon gebruiken ook binnen functies en classes. Ik gebruik zelf nooit deze variable en weet daarom ook niet of er veiligheids fouten inzitten of dergelijk, maar misschien is het wat.

http://nl2.php....es.globals

En nog een oplossing is gebruik maken van een class met statische variablen en methoden. Bijvoorbeeld dit:

  1. <?php
  2. class settings
  3. {
  4. static public $data = array
  5. (
  6. 'test' => 'De variable werkt correct!',
  7. 'url' => 'www.website.com'
  8. );
  9. }
  10. echo settings::$data['test'];
  11. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s