INCLUDE met GET

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerben=flash

gerben=flash

13/11/2007 14:24:00
Quote Anchor link
hallo,

Ik ben al een tijdje aan het proberen maar het wil echt niet lukken. Ik wil graag de volgende pagina includen:

../test/index.php?controller=product&product_id=14

Maar ik heb al op allerlij pagina`s gelezen dat dat op deze manier niet kan.... [code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
include ("file.txt")
?>

[/code

Maar hoe moet ik dit dan oplossen? Ik had zelf dit gevonden maar dit
snap ik niet helemaal... kan iemand uitleggen of dit de code is die ik zoek
en wat ik daar dan mee moet doen? Want ik zou geen idee hebben wat dat
file.txt moet zijn. Eigelijk snap ik helemaal niks van dit script.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

include ("http://someserver/file.php?varone=1&vartwo=2");

$varone = 1;
$vartwo = 2;
include ("file.txt");  /* Works. */
include ("test.php");  /* Works. */  

?>


Groeten,
Gerben
 
PHP hulp

PHP hulp

24/11/2024 06:43:02
 
Gerben Jacobs

Gerben Jacobs

13/11/2007 14:35:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$pagina
= $_REQUEST["controller"];
switch($pagina) {
 case
"product":
    include("product.php");
 break;
 case
"home":
 default:

     include("home.php");
 break;
}

?>


Zoiets.
 
Winston Smith

Winston Smith

13/11/2007 14:40:00
Quote Anchor link
Dat klopt, include werkt niet met ?page=blabla&id=tralala maar met bestanden. Je zal dus van tevoren moeten kijken welk bestand je wilt invoegen, en waar dat staat. Op basis van je URL zou je bv. zoiets kunnen maken (niet getest verder):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

// http://someserver/file.php?varone=1&vartwo=2

$varone = $_GET['varone']; //geeft 1
$vartwo = $_GET['vartwo'];  // geeft 2

switch($varone) {
    case
1:
        $dir = '/content/';
        break;
    default:

        $dir = '/';
        break;
}


switch($vartwo) {
    case
1:
        $file = 'portfolio';
        break;
    case
2:
        $file = 'contact';
        break;
    default:

        $file = 'index';
        break;
}


$fileToInclude = $dir . $file . '.php';

include ($fileToInclude);

?>
 
Gerben=flash

gerben=flash

13/11/2007 14:44:00
Quote Anchor link
heey,

Hartlijk dank allebei... even kijken... want wat moet ik dan bij

include ($filetoinclude); invullen?

Moet dat dan mijn home pagina zijn of wat moet ik daar invullen?

Want het gaat dus om deze pagina
../test/index.php?controller=product&product_id=14

Maar ik snap ff nie precies wat ik met bovenstaande script moet doen!?
(sorry jongens... ik ben een leek... probeer het te leren) :P.

Trouwens... die tekst die op die pagina staat wordt uit een database gehaald.
Gewijzigd op 01/01/1970 01:00:00 door gerben=flash
 
Gerben Jacobs

Gerben Jacobs

13/11/2007 14:47:00
Quote Anchor link
Je wilt gewoon alleen die file includen? Of wat is nou precies de vraag?
 
Winston Smith

Winston Smith

13/11/2007 14:52:00
Quote Anchor link
$fileToInclude zou op basis van je URL moeten worden gemaakt, dus hoef je zelf niks in te vullen. Heb het niet getest, maar het zou kunnen dat er een oneindige loop ontstaat als je geen ?controller= etc. erachter hebt staan.

Quote:
Trouwens... die tekst die op die pagina staat wordt uit een database gehaald.
Dan wordt het wel anders.

Maar je kan met $_GET['controller'] en $_GET['product_id'] de waarden uitlezen. $_GET['controller'] geeft in jouw geval 'product' en $_GET['product_id'] geeft 14. Met die waarden kan je vervolgens weer doen wat je wilt. Een bestand includen, of een verbinding leggen met een database en vervolgens ophalen wat je nodig hebt.
 
Gerben=flash

gerben=flash

13/11/2007 14:57:00
Quote Anchor link
poe het wordt nog ingewikkeld ook... haha maare... dat laatse volg ik niet helemaal meer.....

ik heb dus een pagina home waar ik een webwinkel in includen. de url van die pagina is webwinkel/index.php?controller=product&product_id=14
De tekst en afbeelding van die pagina wordt uit database gehaald. Begrijp ik goed dat het wel met dat script van jou (kasper) kan? Of kan het door die database juist weer niet?
 
Gerben=flash

gerben=flash

13/11/2007 14:57:00
Quote Anchor link
sorry mijn reply perongeluk 2 keer geplaats... wegehaalt hier niet op letten
Gewijzigd op 01/01/1970 01:00:00 door gerben=flash
 
Joren de Wit

Joren de Wit

13/11/2007 15:05:00
Quote Anchor link
Allereerst: GET variabelen kun je niet opgeven in een include(). Je geeft enkel het pad naar de pagina die je wilt includen op. De code van de te includen pagina wordt vervolgens geladen in de andere pagina.

Aangezien je de GET variabelen waarschijnlijk wel nodig hebt, kun je deze meegeven in de url. En dan wel bij het oproepen van de pagina waarin de include plaatsvindt.

Een voorbeeld:

Jij wilt ../test/index.php?controller=product&product_id=14 includen. Dat betreft dus het bestand ../test/index.php. Stel dat we dan willen includen in pagina.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include('../test/index.php');
?>

Om er nu voor te zorgen dat we in de index.php gebruik kunnen maken van de GET variabelen, zullen we pagina.php als volgt aan moeten roepen:

pagina.php?controller=product&product_id=14
 
Gerben=flash

gerben=flash

13/11/2007 15:55:00
Quote Anchor link
oke maar waar moet ik die regel

pagina.php?controller=product&product_id=14

aanroepen dan?

Ik begrijp niet helemaal waar je heen wilt.
 
Joren de Wit

Joren de Wit

13/11/2007 16:14:00
Quote Anchor link
Dat is de url waarmee je pagina.php aanroept. Vervolgens wordt in pagina.php het bestand ../test/index.php geinclude. Dit bestand handelt op zijn beurt weer de GET variabelen af waarmee je pagina.php hebt aangeroepen...

Waar je het dus neer moet zetten? In de adresbalk van je browser. Of maak er een link van oid? Dat kun je zelf wel invullen ;)
 
Gerben Jacobs

Gerben Jacobs

13/11/2007 16:19:00
Quote Anchor link
Staat die pagina soms niet op je eigen site, gerben=flash?
 
Gerben=flash

gerben=flash

13/11/2007 17:31:00
Quote Anchor link
hallo allemaal,

Jawel die pagina staat ook gewoon op mijn ftp... maar het is al gelukt...

ik heb deze oplossing gevonden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$_GET
['controller'] = 'product';
$_GET['product_id'] = 17;
include('index.php');
?>


Allemaal erg bedankt!
 
Gerben=flash

gerben=flash

13/11/2007 17:31:00
Quote Anchor link
.
Gewijzigd op 01/01/1970 01:00:00 door gerben=flash
 
Joren de Wit

Joren de Wit

13/11/2007 17:43:00
Quote Anchor link
Eh, met alle respect, maar dit lijkt me geen oplossing. Als je de GET variabelen gaat definieren in het script zelf hebben ze toch helemaal geen nut meer?

Het gaat erom dat deze variabelen uit de url komen, en niet statisch gedefinieerd worden in het script zelf...
 
PHP erik

PHP erik

13/11/2007 17:48:00
Quote Anchor link
Heeft iemand al gezegd dat je een dergelijke constructie nooit nodig hebt en voor externe communicatie dingen als SOAP bestaan?
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.