Gå til innhold

include og id


Anbefalte innlegg

Lurte på om det var noen som hadde giddet å lage et fullt lite eksempel med php, der jeg kan bruke include og id...noe lignende dette til meg og poste det her:

 

<?php printf("<a href=\"%s?id=\">", $_SERVER['PHP_SELF']); ?>hjem</a>

<?php printf("<a href=\"%s?id=2\">", $_SERVER['PHP_SELF']); ?>test<br>

 

<?php

$id=$_GET['id'];

 

if($id)

{

switch ($id)

{

case $id==2:

include("tull.php");

break;

}

}

ELSE

{

include("startside.php");

}

?>

har litt problemer med det,,

Lenke til kommentar
Videoannonse
Annonse
stemmer det,

 

du bør og legge inn en funksjon som sjekker om at filen du vil legge ved faktisk er "godkjent" så du slipper diverse pornosider mm ;)

...for ikke å nevne at det å inkludere seg selv vil stå i evigheter og kjøre (php har riktignok en max recursive depth sjekk og en max time sjekk) ;)

Lenke til kommentar
stemmer det,

 

du bør og legge inn en funksjon som sjekker om at filen du vil legge ved faktisk er "godkjent" så du slipper diverse pornosider mm ;)

...for ikke å nevne at det å inkludere seg selv vil stå i evigheter og kjøre (php har riktignok en max recursive depth sjekk og en max time sjekk) ;)

index.php inneholder en include og da vil den kun bli kjørt en gang, ikke flere sålenge det ikke inkluderes index.php

Lenke til kommentar

mulig jeg misforstår her, men hvis index.php inneholder kommandoen include $_SERVER['PHP_SELF']; så vil den inkludere seg selv og pånytt støte på include, (rekursjon) om og om igjen, inntil det gir en memory allocation feil eller.

 

Riktignok kun på kommandolinja.

 

På webserveren vil ikke PHP_SELF vise til en gyldig phpfil for inkludering.

følgende eksempel vil demonstrere samme effekt:

 

<?php
$a++;
echo "$a. kjøring<br>\n";
include($_SERVER['SCRIPT_FILENAME']);
?>

 

På min hjemmeside så det slik ut:

[klippe-klippe]

6969. kjøring
6970. kjøring
6971. kjøring
6972. kjøring
6973. kjøring
6974. kjøring

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 8 bytes) in /usr/webdir/lindahl/****.php on line 4

Lenke til kommentar

Vel etter å ha lest Torbjørns avsporinger husker jeg ikke helt hva du var ute etter :p

Men synes å demre noe om at du ville ha et ?id=hvilkenside osv.

Da kan du jo la linkene være:

index.php?id=main

index.php?id=downloads

index.php?id=aboutus osv osv

 

I tabellcellen hvor innholdet skal være har du:

if($_GET["id"] == "main")
{
   include("main.php");
}
else if($_GET["id"] == "downloads")
{
   include("downloads.php");
}
else if($_GET["id"] == "aboutus")
{
   include("aboutus.php");
}
else
{
include("main.php");
}

 

Det er sikkert et dårlig script med tanke på funksjoner, men det fungerer ihvertfall veldig bra!

 

 

 

#Edit: latterlig norsk setning

Endret av Andeplane
Lenke til kommentar

syns det er greiest med switch, som er trygt, og samtidig veldig oversiktlig:

switch($_GET['side']){
case 'downloads': include("downloads.php");
break;

case 'blabla': include ("blabla.php");
break;

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

Lenke til kommentar

Jeg bruker dette.

 <?

if (!isset ($_GET['page'])) {

$_GET['page'] = 'main.php';

}

if (file_exists($_GET['page'].".php")) {

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

}

else {

echo "<img src=\"images/404.gif\">";

}

?>

 

Veldig enkelt og greit :)

Endret av SirIce
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...