Variable geven aan een geïnclude pagina

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Plaats reactie
Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Variable geven aan een geïnclude pagina

Bericht door Dennis » 19 sep 2005, 23:56

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;
?>

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 20 sep 2005, 00:10

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']);

Gebruikersavatar
Bas
Berichten: 2741
Lid geworden op: 02 dec 2003, 17:38
Locatie: Omgeving Goslar (Duitsland)
Contacteer:

Bericht door Bas » 20 sep 2005, 09:43

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.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 20 sep 2005, 11:42

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!?¿

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 20 sep 2005, 12:21

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.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Variable geven aan een geïnclude pagina

Bericht door Dennis » 20 sep 2005, 21:52

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??
Laatst gewijzigd door Dennis op 07 mar 2021, 14:49, 1 keer totaal gewijzigd.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Variable geven aan een geïnclude pagina

Bericht door mosymuis » 20 sep 2005, 21:55

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.

Plaats reactie