webForumDet fria alternativet

Ändra Include.

8 svar · 243 visningar · startad av chomp

chompMedlem sedan dec. 20028 inlägg
#1

behöver hjälp med...
Jag vill att när man klickar på en länk så ska include(php.php); ändras till include(chomp.php);
Jag vet att det går för jag har gjort det på en gammal sida men kommer inte ihåg hur.

//christoffer

MatteMedlem sedan aug. 20002 975 inlägg
#2

T.ex. så här:

<?php

if (isset($_GET['inc']) && $_GET['inc']=="chomp"){
   include "chomp.php";
} else include "php.php";

echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=chomp\">Byt till chomp</a>";

?>

Har du fler att välja på kanske man får göra en lite mer avancerad historia.

chompMedlem sedan dec. 20028 inlägg
#3

Men hur ska jag göra ifall jag vill byta mellan:
php.php, chomp.php och peter.php?

BäckmanMedlem sedan nov. 2001274 inlägg
#4

Då är det bara att lägga till fler if-satser?

chompMedlem sedan dec. 20028 inlägg
#5

testade.. men nu såg jag att jag ahde skrivit ett fel i satsen.

MatteMedlem sedan aug. 20002 975 inlägg
#6

Är det bara 2-3 stycken det handlar om går det bra med fler if-satser, annars är det bättre att göra en switch:

<?php

if (isset($_GET['inc'])){
  switch($_GET['inc']){
    case "chomp":
      include "chomp.php";
      break;
    case "peter";
      include "peter.php";
      break;
    default:
      include "php.php";
  } 	
} else include "php.php";

echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=chomp\">Byt till chomp</a><br>\n";
echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=peter\">Byt till peter</a><br>\n";
echo "<a href=\"{$_SERVER['PHP_SELF']}\">Byt till default</a><br>\n";

?>
MatteMedlem sedan aug. 20002 975 inlägg
#7

Sen kan du göra så här också:

<?php

$allowed = array("chomp", "peter", "tredje");

if (isset($_GET['inc']) && in_array($_GET['inc'], $allowed)){
   include $_GET['inc'].".php";
} else include "php.php";

echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=chomp\">Byt till chomp</a><br>\n";
echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=peter\">Byt till peter</a><br>\n";
echo "<a href=\"{$_SERVER['PHP_SELF']}?inc=tredje\">Byt till tredje</a><br>\n";
echo "<a href=\"{$_SERVER['PHP_SELF']}\">Byt till default</a><br>\n";

?>

Här lägger vi vilka filer som är tillåtna att inkludera i arrayen $allowed. För att besökaren inte ska kunna skriva in ett namn på en annan fil du inte vill ha inkluderad.

chompMedlem sedan dec. 20028 inlägg
#8

Tackar så mycket för alla svar....
det går att skriva $allow = array("member/login");??
ifall den ligger i en mapp högre upp.

MatteMedlem sedan aug. 20002 975 inlägg
#9

chomp skrev:

Tackar så mycket för alla svar....
det går att skriva $allow = array("member/login");??
ifall den ligger i en mapp högre upp.

Ja, men ligger alla dina include-filer i katalogen member så är det bättre att istället skriva:

include "member/".$_GET['inc'].".php";
128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)