Pagina 1 van 1

Variable geven aan een geïnclude pagina

Geplaatst: 19 sep 2005, 23:56
door Dennis
Ik wil een variable meegeven aan een pagina maar moet uitgevoerd worden in een geïnclude pagina.
Kan dat?


voorbeeld
http://domein.nl/voorbeeld.php?waarde=test

voorbeeld.php

Code: Selecteer alles

<?php
echo 'test';
include("inhoud.php");
?>
inhoud.php

Code: Selecteer alles

<php
$waarde= $_GET['waarde'];
echo $waarde;
?>

Geplaatst: 20 sep 2005, 00:10
door ElbertF
Dat kan gewoon ja, en anders doe je het zo (nogal omslachtig, dit zou je kunnen gebruiken met $_POST i.p.v. $_GET):

Code: Selecteer alles

include("inhoud.php?waarde=" . $_GET['waarde']);

Geplaatst: 20 sep 2005, 09:43
door Bas
Tijdens het includen, blijven alle vars, in $_GET, $_POST, $_SESSION, en alle andere superglobals, en alle vars die eerder gedefinieerd zijn, bruikbaar in het andere bestand.

Geplaatst: 20 sep 2005, 11:42
door Dennis
Bas schreef:Tijdens het includen, blijven alle vars, in $_GET, $_POST, $_SESSION, en alle andere superglobals, en alle vars die eerder gedefinieerd zijn, bruikbaar in het andere bestand.
En daarmee doel je op???

Ik had:

http://domain.nl/pagina.php?waarde=1

pagina.php

Code: Selecteer alles

<?php
include("inhoud.php);
echo 'include';
?>
inhoud.php

Code: Selecteer alles

<?php
echo'waarde = ';
echo $waarde;
?>
Dan werkt dat niet.
Zou pagina.php er dan zo moeten uitzien:
pagina.php

Code: Selecteer alles

<?php
$waarde = $_GET['waarde']; //zonder fout afvang
include("inhoud.php);
echo 'include';
?>
Omdat jij aangeeft dat: alle vars die eerder gedefinieerd bruikbaar zijn het andere bestand!?¿

Geplaatst: 20 sep 2005, 12:21
door mosymuis
Bas heeft wel degelijk gelijk. Het is ook niet meer dan logisch dat alle vooraf ingestelde en gedeclareerde variabelen bestaan in include bestanden, omdat die bestanden praktisch direct in het opvragende document worden geplaatst. Het is niet zo dat een geinclude bestand in een afgeschermd stukje geheugen werkt, zoals bij functies.

Bij je laatste vraag heb je het over een heel ander principe; het gebruik van superglobals. Het kan inderdaad zo zijn dat $waarde niet bestaat en $_GET['waarde'] wel, als de PHP ini setting register_globals off zou zijn.

Re: Variable geven aan een geïnclude pagina

Geplaatst: 20 sep 2005, 21:52
door Dennis
Thanx,
Heb het dus zo opgelost.
Je moet dan dus wel in beide pages $_GET voeren???

als voorbeeld: index- en include.php opgevraagt door http://localhost/index.php?scroll=0

index.php

Code: Selecteer alles

<?
include("$domein" . "/target/" . "$show" . "/include.php?scroll=" . $scroll = isset($_GET['scroll']) && is_numeric($_GET['scroll'])  ? $_GET['scroll'] : 0 );
?>

include.php

Code: Selecteer alles

<?php 
$scroll = isset($_GET["scroll"]) && is_numeric($_GET["scroll"]) ? $_GET["scroll"] : 0; 

if ($scroll == "0") 
{
   echo 'NUL''
}; 
?>
Of heb ik hem nog niet niet door??

Re: Variable geven aan een geïnclude pagina

Geplaatst: 20 sep 2005, 21:55
door mosymuis
DAMnet schreef:Je moet dan dus wel in beide pages $_GET voeren???
Je moet je aanwennen om altijd superglobals te gebruiken als het om user input gaat, ongeacht je server instelling. Dat hoef ik je niet uit te leggen, daarvoor is genoeg documentatie voor handen op internet. neem zoiezo deze pagina eens door.