[PHP] intern linken

Pagina: 1
Acties:

Onderwerpen


  • uppie8374
  • Registratie: Maart 2002
  • Laatst online: 16-09 13:22
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
51   <?php
52   if($page){
53   if(!file_exists("php/body/$page.php")){
54   include("bodyhome.php");
55   }
56   else{
57   include("php/body/$page.php");
58   }
59   }
60   if(!"php/body/$page.php"){
61   include("bodyhome.php");
62   }
63   ?>

Dit stukje staat dus in de body en geeft de volgende foutmeldingen :

code:
1
2
3
Notice: Undefined variable: page in J:\$website$\sollido\Php\body.php on line 52

Notice: Undefined variable: page in J:\$website$\sollido\Php\body.php on line 60


We gebruiken de volgende code voor de links
code:
1
<A HREF ="index.php?page=bodyhome">


Het probleem is dus dat de foutmeldingen alleen komen bij het voor de eerste keer starten van de pagina. Wanneer er daarna op een link wordt gedrukt werkt alles perfect.

Ik heb al geprobeerd in de <head> en de <body> iets te zetten als $page="0"; en $page=""; wat geen van beide werkt. Wanneer er iets als $page="bodyhome"; staat dan werkt het wel, maar dan blijft deze waarde vast en werken de links dus niet meer.

Rebuilding knowledge database


  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 21:12

Tux

Je moet $_GET['page'] gebruiken om ?page=bla te krijgen ;)

Ik dacht dat dat onderhand algemeen bekend was. En ik zou de input nog wel even checken op ongeldige chars ;)

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 20:37
Waarom kijk je op die manier of de variabele bestaat als je isset($var) gebruikt gaat krijg je geen waarschuwingen meer.

Wat een ranzige code trouwens, maar dat heb je ws. zelf ook wel door.

[ Voor 24% gewijzigd door Eskimootje op 19-02-2004 17:23 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

offtopic:

php code kun je in [norml]
PHP:
1
...
[/] tags plaatsen zodat het gehighlight wordt. Verder kun je de regelnummer later starten op een ander nummer dan 1 door [php=regel]...[/php] te gebruiken ;)

PHP:
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
    if($page){
        if(!file_exists("php/body/$page.php")){
            include("bodyhome.php");
        }
        else{
            include("php/body/$page.php");
        }
    }
    if(!"php/body/$page.php"){
        include("bodyhome.php");
}
?>

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • uppie8374
  • Registratie: Maart 2002
  • Laatst online: 16-09 13:22
Dit is nu wat er ipv het eerste stukje staat (in de body)
PHP:
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
     if($_GET['page']){
          if(!isset("$_GET['page']")){
               include("php/body/bodyhome.php");
          }
          else{
               include("$_GET['page']");
          }
     }
     if(!"$_GET['page']"){
          include("php/body/bodyhome.php");
     }
?>


En dit staat nu als eerste blokje code in de body in index.php (bestaat uit tabellen waar in de body table een include body.php wordt gebruikt.)

PHP:
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?PHP 

$_GET = array(0 => "php/body/bodyhome.php",
              1 => "php/body/informatie.php",
              2 => "php/body/contact.php",
              3 => "php/body/leveranciers.php",
              4 => "php/body/geschiedenis.php",
              5 => "php/body/collectie.php",
              6 => "php/body/bestellen.php");   

if(!isset($_GET['page'])){ 
    $page = 0; 
} else { 
    $page = $_GET['page']; 
} 
?>



Geeft de volgende foutmelding :

code:
1
Parse error: parse error, unexpected '"', expecting T_VARIABLE or '$' in J:\$website$\sollido\Php\body.php on line 53


En hierbij is ook nog eens mijn hele linker navigatiekant van de body verdwenen.

[ Voor 14% gewijzigd door uppie8374 op 19-02-2004 17:35 ]

Rebuilding knowledge database


  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 21:12

Tux

Dit lijkt me basic debuggen. Maar zet in ieder geval even de juiste regelnummers erbij zoals .oisyn laat zien :)

Je kan die checkarray ook beter geen $_GET noemen.

PHP:
1
2
3
4
5
6
$valid = array (0 => 'bla', 1 => 'enz');

if (isset ($_GET['page']) && in_array ($_GET['page'], $valid))
{
    include ($_GET['page']);
}

[ Voor 62% gewijzigd door Tux op 19-02-2004 17:38 ]

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP:
1
(!isset("$_GET['page']"))
Daar zit de fout. In de rest van je code staat het wel goed, dus kijk even waar het fout gaat. :)

edit:

en hier:
PHP:
1
J:\$website$\sollido
Klopt dit?

[ Voor 28% gewijzigd door RedRose op 19-02-2004 17:38 ]

Sundown Circus


  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

PHP:
1
2
3
4
5
6
7
$_GET = array(0 => "php/body/bodyhome.php",
              1 => "php/body/informatie.php",
              2 => "php/body/contact.php",
              3 => "php/body/leveranciers.php",
              4 => "php/body/geschiedenis.php",
              5 => "php/body/collectie.php",
              6 => "php/body/bestellen.php");

Waar dat op slaat? 7(8)7 :p
om URL-encoded data op te vragen word de $_GET variabele gebruikt. Als je die data op nieuw declareert, is de oude (verstuurde) data pleite. Daarnaast kan een genummerde array dmv komma's, dus niet 0 => "blaat", 1 => "blaat2" maar gewoon "blaat","blaat2"

[ Voor 17% gewijzigd door RSpliet op 19-02-2004 17:40 ]

Schaadt het niet, dan baat het niet


  • blizt
  • Registratie: Januari 2003
  • Laatst online: 11-12-2024

blizt

Wannabe-geek

Probeer het zo eens:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
     if(!isset($_GET['page']) )
     {
        include('php/body/bodyhome.php');
     }
   
    else
    {
        include($_GET['page']);
    }
  
?> 

Dit werkt, veilig is 't niet ;)

edit:

Bah, veel te laat

[ Voor 19% gewijzigd door blizt op 19-02-2004 17:44 ]

United we stand, and divided we fall

Pagina: 1