include en variabel
Ik wil graag een include maken met een variabel.
Dus bv : include ("member-index.php?uke=").$nmr;
Alleen blijkt dus dat je met een include geen variabel mee kunt geven..
Hoe lossen we dit op ?
Waarom wil je het eigenlijk?
roeppietje.php
http://localhost/roeppietje.php
resultaat:
pietje
Note:
Kijk altijd eerst goed op: http://www.php.net | http://www.php.net/include
dan hoef je dit soort vragen namenlijk niet te stellen.
Gewijzigd op 29/06/2010 19:43:25 door Noppes Homeland
Bedankt voor je reactie, maar zoals altijd is alles wel terug te vinden op php.net
Maar dat is niet altijd even duidelijk voor iedereen (net zo min als jouw voorbeeld)
Zeker niet als beginner met php...het bestaansrecht van forums zoals dit, is dat men elkaar helpt, ookal zijn de antwoorden al eerder gesteld of ergens anders te vinden.
Gewijzigd op 29/06/2010 20:49:44 door John van der Linden
@John Wat begrijp je dan niet aan Noppes zijn uitleg? Het kan echt niet gemakkelijker uitgelegd worden. Ik weet niet wat jij onder helpen verstaat maar volgens mij is hij toch echt wel goed bezig daar mee.
Je doet het verkeerd. Je zegt nu:
include 'member-index.php?uke=' en dan voeg $nmr toe. Maar deze voeg je niet toe aan de string 'member-index.php?uke=', maar ná de haakjes van de include. Dit zorgt ervoor dat deze niet meegestuurd word in de include-functie.
Waarschijnlijk krijg je zelfs een parse error.
Dit moet zijn:
include ('member-index.php?uke='.$nmr);
Maar ook dit werkt niet, zoals je hebt gezien. Wat Noppes nu wilt laten zien is dat je dit probleem kunt verhelpen door een variabele te zetten boven je script. Deze worden namelijk meegegeven.
Nu kun je dus dit doen:
Nu moet je wel onthouden dat je een $_GET variabele veranderd. Dit kan in de rest van je script onverwachte fouten opleveren (als deze $_GET variabele al was gezet en nodig is) Misschien kun je het dan beter via een gewone variabele doen, of alles in member-index.php in een functie zetten en deze functie aanroepen.
pietje.php
Code (php)
roeppietje.php
http://localhost/roeppietje.php?naam=Pietje
restultaat:
Pietje
Je gaat dus absoluut niet het volgende doen:
Supert !!! Bedankt allemaal maar weer eens :-)
Door een query (dus ?a=b) toe te voegen aan je include suggereer je dat het een gewone request is (dus wanneer je het in je browser in zou typen). Dat is het echter niet. Het is heel basaal gewoon code uit een bestand halen en deze als het ware aan de code in het huidige bestand vastplakken. Hierbij wordt dus geen enkele variabele gewijzigd (afgezien van de constanten __FILE__ dat de locatie van het huidige bestand aangeeft en __DIR__ dat de desbetreffende map weergeeft).
En als je je vaardigheden nog wat wil verbeteren: Doe het niet zo! Je moet geen variabelen overhevelen van en naar bestanden, slechts definities van functies, constanten en klassen. Probeer dus niet in je config.php - oid - een variabele config aan te maken en deze in de rest van je script gebruiken, maar probeer een functie getConfig($key) te maken of, nog beter een klasse Config. Dit maakt het onderhouden van je code veel gemakkelijker omdat je zo precies weet wat er is ingesteld en waar dat vandaan komt.
bedankt voor de tips !!!