if broken it is, fix it you should
- This line is intentionally left blank -
1
2
| /*define value 3 to FOO*/ define("FOO", 3); |
Voor meer info tjek de PHP manual: http://www.php.net/manual/en/function.define.php
[ Voor 93% gewijzigd door elgringo op 30-04-2003 22:03 ]
if broken it is, fix it you should
Op welke manier wil je dat aanroepen vanuit een .html-bestand uitvoeren dan?elgringo schreef op 30 April 2003 @ 21:59:
Dank je, maar geld dit ook als ik eerst x.php (van index.html) aanroep die de define doet en ik hem met y.php wil openen die na x.php gesloten is ook door index.html wordt aangeroepen?
- This line is intentionally left blank -
geen html maar een php bestand..... foutjeKnutselsmurf schreef op 30 April 2003 @ 22:08:
[...]
Op welke manier wil je dat aanroepen vanuit een .html-bestand uitvoeren dan?
Ik bedoel eigenlijk:
i.php maakt gebruikt van verschillende andere php bestanden. Als i.php opgestart wordt wordt er een tweede scherm geopend met y.php. i.php roept (nadat het 2de scherm er is) een functie uit x.php aan die een define doet. Kan y.php (het tweede scherm dus) dan die define lezen?
if broken it is, fix it you should
Zoals ik al zei: ja.elgringo schreef op 30 April 2003 @ 22:12:
i.php maakt gebruikt van verschillende andere php bestanden. Als i.php opgestart wordt wordt er een tweede scherm geopend met y.php. i.php roept (nadat het 2de scherm er is) een functie uit x.php aan die een define doet. Kan y.php (het tweede scherm dus) dan die define lezen?
Als ik je goed begrijp heb je nu 2 losse pagina's: een i.php en een y.php. Omdat die 2 los van elkaar draaien kunnen ze niet bij elkaars defines en variabelen. Het kan volgens mij dus niet.elgringo schreef op 30 april 2003 @ 22:12:
[...]
i.php maakt gebruikt van verschillende andere php bestanden. Als i.php opgestart wordt wordt er een tweede scherm geopend met y.php. i.php roept (nadat het 2de scherm er is) een functie uit x.php aan die een define doet. Kan y.php (het tweede scherm dus) dan die define lezen?
Jawel.... als ik y.php aanroep via een include vanuit i.php en in y.php staan de defines kan ik die in i.php wél aanspreken.MikeN schreef op 30 April 2003 @ 22:26:
Als ik je goed begrijp heb je nu 2 losse pagina's: een i.php en een y.php. Omdat die 2 los van elkaar draaien kunnen ze niet bij elkaars defines en variabelen. Het kan volgens mij dus niet.
Je hebt het dus fout.
Via een include wel. Maar de TS heeft het over twee verschillende vensters. En dan heb je het dus over twee verschillende scriptsddc schreef op 30 april 2003 @ 22:28:
[...]
Jawel.... als ik y.php aanroep via een include vanuit i.php en in y.php staan de defines kan ik die in i.php wél aanspreken.
In dat geval heb jij het dus foutJe hebt het dus fout.
Beter lezen:eborn schreef op 30 april 2003 @ 22:30:
Via een include wel. Maar de TS heeft het over twee verschillende vensters. En dan heb je het dus over twee verschillende scripts
Zowel i.php en y.php worden aangeroepen vanuit index.html (na elkaar). Dan is het nogsteeds hetzelfde script wat draait (in principe index.html) en is dus alsnog alles toegankelijk.elgringo schreef op 30 april 2003 @ 21:59:
Dank je, maar geld dit ook als ik eerst x.php (van index.html) aanroep die de define doet en ik hem met y.php wil openen die na x.php gesloten is ook door index.html wordt aangeroepen?
Of ben ik nou gek (geen retorische vraag).php maakt gebruikt van verschillende andere php bestanden. Als i.php opgestart wordt wordt er een tweede scherm geopend met y.php. i.php roept (nadat het 2de scherm er is) een functie uit x.php aan die een define doet. Kan y.php (het tweede scherm dus) dan die define lezen?
[ Voor 7% gewijzigd door eborn op 01-05-2003 00:40 ]
Verwijderd
Wil je variabelen uit een ander php bestand halen, dan zul je dat moeten includen. Maar vergis je dus niet, er is normaliter helemaal geen sprake van 'als het nieuwe venster geopend is', alle PHP code wordt eerst uitgevoerd, en dán pas gaat het resultaat naar de client.
y.php zal de waarden die in x.php worden gedefinieerd niet kunnen lezen, als je x.php niet include, of op een andere manier dat document parset.
Als je het echt over constanten hebt, dan kun je gerust helemaal aan het begin van y.php óók x.php kunnen includen. Constanten zijn altijd hetzelfde, en anders moet je ze niet als constante definiëren
('configuratie constanten' zijn wellicht een uitzondering, deze wijzigen weleens, maar niet erg frequent)
Bevat x.php niet alleen constanten, maar ook variabelen die veranderen per request, dan zul je iets anders moeten bedenken. Je zou met sessies, cookies, verborgen formulieren, en/of get-variabelen kunnen zorgen dat je te weten kunt komen welke requests bij dezelfde client horen, zodat je wél variabelen per client kunt onthouden. Sessies liggen het meest voor de hand.
Wat er dan zou kunnen gebeuren, is dat script i.php bepaalde sessie-variabelen een waarde geeft (uit x.php, op welke manier dan ook). De client krijgt een pagina voorgeschoteld, de browser krijgt opdracht een nieuw venster te openen met y.php. Dat venster zal dezelfde sessie-id krijgen, waardoor de waarden uit de sessie ook in y.php beschikbaar zullen zijn.
Ik stel voor dat de TS zelf ook eens iets meer gaat lezen, want daar leer je erg veel van.
Ik weet zelf niet zeker of ik nu heb uitgelegd wat de topicstarter ongeveer wil, maar het is aan hem om dat te bepalen natuurlijk. Heel erg helder was het verhaal niet. Kort wel.
Bovendien is het uitleg van Cheatah hierboven uitstekend.
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Dit topic is gesloten.
![]()