Versio

$_get_page

Overzicht Reageren

Pagina: 1 2 volgende »

Dirk Renes

Dirk Renes

24/10/2011 14:21:54
Quote Anchor link
Ik heb een mappen structuur gemaakt voor van een site, nu wil ik dus op een pagina een parameter kunnen aanroepen en vervolgens de gewenste pagina uit een directory includen.

zo moet het worden:
-lang
-module
-scherm
-topic

maar nu kan ik wel in dezelfde directory het bestand halen, alleen ik kom der niet echt uit als ik het via een directory moet doen. Moet je dan voor de module scherm enzo ook get_map doen bijvoorbeeld?

kan zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(file_exists ($_GET['lang'], ($_GET['module'],($_GET['scherm'],($_GET['topic']))

De code nu ik nu heb
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
ini_set('display_errors', 'On');
error_reporting(E_ALL);



if
    (file_exists($_GET['topic']))
    {
    include($_GET['topic']);
    }

else
    {
    echo 'Het opgevraagde bestand bestaat niet probeer het later opnieuw';
    }
Gewijzigd op 24/10/2011 14:30:24 door Dirk Renes
 
PHP hulp

PHP hulp

24/05/2012 10:11:25
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
- SanThe -

- SanThe -

24/10/2011 14:29:05
Quote Anchor link
Ik snap de logica niet. Als $_GET['topic'] bestaat ga je $_GET['page'] includen. Verder is dit op deze manier zeer onveilig.
 
Dirk Renes

Dirk Renes

24/10/2011 14:30:04
Quote Anchor link
- SanThe - op 24/10/2011 14:29:05:
Ik snap de logica niet. Als $_GET['topic'] bestaat ga je $_GET['page'] includen. Verder is dit op deze manier zeer onveilig.


Al aangepast in mijn script zelf. SanThe hoe zou jij het doen?
Gewijzigd op 24/10/2011 14:31:45 door Dirk Renes
 
- SanThe -

- SanThe -

24/10/2011 14:36:21
Quote Anchor link
Check op zijn minst of het bestand wel op JOUW site staat. Of zet alle toegestane pagina's in een array() en kijk of de GET in het array() voorkomt.
 
Dirk Renes

Dirk Renes

24/10/2011 14:38:13
Quote Anchor link
- SanThe - op 24/10/2011 14:36:21:
Check op zijn minst of het bestand wel op JOUW site staat. Of zet alle toegestane pagina's in een array() en kijk of de GET in het array() voorkomt.


Heb je een voorbeeld?
Gewijzigd op 24/10/2011 14:39:49 door Dirk Renes
 
- SanThe -

- SanThe -

24/10/2011 14:43:30
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
<?php
$toegestaan
= array('home', 'pag1', 'pag2');
if(in_array($_GET['page'], $toegestaan))
{

    include($_GET['page'] . '.php');
}

else
{
    include('home.php');
}

?>
 
Dirk Renes

Dirk Renes

24/10/2011 14:47:58
Quote Anchor link
Nu wil ik dat nog graag met de directory structuur hoe kan ik dat het beste doen?
 
- Aar -

- Aar -

24/10/2011 15:36:01
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
$directory
= 'pages';
$toegestaan = array('home', 'pag1', 'pag2');
if(in_array($_GET['page'], $toegestaan))
{

    include($directory.'/'.$_GET['page'] . '.php');
}

else
{
    include($directory.'/'.'home.php');
}

?>
 
Milo S

Milo S

24/10/2011 16:30:34
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
13
14
15
16
17
18
19
20
21
<?php
$dir
     = 'inc/';
$page    = !isset( $_GET['page'] ) ? 'home' : htmlentities( $_GET['page'] );
$allowed = array( 'home', 'pagina1', 'pagina2' );

if( in_array( $page, $allowed ) )
{

    if( file_exists( $dir.'/'.$page.'.php' ) )
    {

        include( dir.'/'.$page.'.php' );
    }

    else
    {
        echo 'Deze pagina bestaat niet.';
    }    
}

else
{
    echo 'De door u gekozen pagina is verboden.';
}

?>


Persoonlijk zou ik het zo doen, want dan kijk je ook meteen of de pagina bestaat niet of. Zo niet geef je dit netjes weer aan de gebruiker.

GR, Milo
Gewijzigd op 24/10/2011 16:30:55 door Milo S
 
Dirk Renes

Dirk Renes

25/10/2011 09:03:40
Quote Anchor link
Ik wil het met de bovengenoemde mappen structuur doen maar, als ik dus 3 of meer mappen heb hoe ga ik dat dan oplossen?
 
- Aar -

- Aar -

25/10/2011 09:47:47
Quote Anchor link
Als je pagina's in drie verschillende mappen staan, kan je toch die directory's erbij opgeven in de $allowed array?
 
Dirk Renes

Dirk Renes

31/10/2011 13:55:46
Quote Anchor link
Ik heb alles werkende tot nu toe. Nu wil ik in mijn script toevoegen als de parameter 'module' leeg is dat je automatisch naar een map algemeen gaat en vervolgens met de parameter 'p' de juiste pagina includen. wie kan mij hier verder mee helpen

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
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

$lang  = $_GET['l'];
$module = $_GET['m'];
$page = $_GET['p'];
$toegestaan = array( 'home', 'nl', 'eng', 'stock' );

        if(array( $screen, $toegestaan))
        {

            if( file_exists( $lang .'/'. $module .'/'. $page .'.php' ) )
            {

                include($lang .'/'. $module .'/'. $page .'.php' );
            }

            else
            {
                echo 'Deze pagina bestaat niet.';
            }    
        }

            else
            {
                echo 'De door u gekozen pagina is verboden om door u bekeken te worden.';
            }

?>
Gewijzigd op 31/10/2011 14:12:27 door Dirk Renes
 
- Aar -

- Aar -

31/10/2011 14:16:57
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !isset($_GET['p']) || ($_GET['p']=="")) {
    // niet goed... stuur door, of includeer een fout of index-pagina.
} else {
    // doe de rest.
}
?>
 
Dirk Renes

Dirk Renes

31/10/2011 14:23:34
Quote Anchor link
- Aar - op 31/10/2011 14:16:57:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !isset($_GET['p']) || ($_GET['p']=="")) {
    // niet goed... stuur door, of includeer een fout of index-pagina.
} else {
    // doe de rest.
}
?>


Dit snap ik wel, maar nu nog implementeren in mijn eigen script, ik ben geen php genie.
 
Ozzie PHP

Ozzie PHP

31/10/2011 14:24:25
Quote Anchor link
Gewoon logisch nadenken en stapje voor stapje te werk gaan. Daar leer je het meest van. Hoe vaker je het doet, hoe makkelijker het zal gaan.
 
- Aar -

- Aar -

31/10/2011 14:25:21
Quote Anchor link
Kijk gewoon ook logisch naar het commentaar.

Als je hele kant en klare scripts wilt, dan ben je van harte welkom in het vacature-forum.
 
Dirk Renes

Dirk Renes

31/10/2011 15:06:31
Quote Anchor link
Ik heb het nu zo opgelost. Alleen ik krijg ik foutmelding.

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
ini_set('display_errors', 'On');
error_reporting(E_ALL);

$lang  = $_GET['l'];
$module = $_GET['m'];
$page = $_GET['p'];
$toegestaan = array( 'home', 'nl', 'eng', 'stock' );

        if(array( $page, $toegestaan))
        {

            if( file_exists( $lang .'/'. $module .'/'. $page .'.php' ) )
            {

                include($lang .'/'. $module .'/'. $page .'.php' );
            }

            elseif($_GET['m']=="" && $lang == 'nl')
            {

                include($lang .'/'.algemeen.'/'. $page .'.php' );
            }

            elseif($_GET['m']=="" && $lang == 'en')
            {

                include($lang .'/'. general  .'/'. $page .'.php' );
            }

            else
            {
                echo 'Deze pagina bestaat niet.';
            }    
        }

            else
            {
                echo 'De door u gekozen pagina is verboden om door u bekeken te worden.';
            }

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Notice: Use of undefined constant algemeen - assumed 'algemeen' in C:\xampp\htdocs\Aware36S78pp0rt\help.php on line 63


Toevoeging op 31/10/2011 15:16:19:

Opgelost er moesten om algemeen dubbele quotes
 
Ozzie PHP

Ozzie PHP

31/10/2011 15:16:19
Quote Anchor link
Lees de foutmelding. Deze geeft al aan wat er mis is, namelijk dat deze regel niet klopt:

include($lang .'/'.algemeen.'/'. $page .'.php' );
 
- SanThe -

- SanThe -

31/10/2011 15:16:28
Quote Anchor link
Waar komt algemeen vandaan?
include($lang .'/'.algemeen.'/'. $page .'.php' );

if(array( $page, $toegestaan))
Moet dat niet zijn:
if(in_array( $page, $toegestaan))

Toevoeging op 31/10/2011 15:18:25:

Dirk Renes op 31/10/2011 15:06:31:
Opgelost er moesten om algemeen dubbele quotes


Uh?? Zo bedoel je waarschijnlijk:
include($lang .'/algemeen/'. $page .'.php' );
 
Dirk Renes

Dirk Renes

31/10/2011 15:24:22
Quote Anchor link
include($lang .'/"algemeen"/'. $page .'.php' );ik had het zo opgelost, of is dit niet de goede manier?

jou manier kan inderdaad ook.
 
- SanThe -

- SanThe -

31/10/2011 15:32:58
Quote Anchor link
Dirk Renes op 31/10/2011 15:24:22:
include($lang .'/"algemeen"/'. $page .'.php' );ik had het zo opgelost, of is dit niet de goede manier?


Nee, dit is fout.
Zie mijn laatste regel.
 

Pagina: 1 2 volgende »



Overzicht Reageren