includen html

Status
Niet open voor verdere reacties.

bredaboy90

Gebruiker
Lid geworden
11 feb 2006
Berichten
126
Ik heb dit

PHP:
 <?
if(isset($_GET['p']))
{
include($_GET['p'].".php");
}
?>

Maar ik wil ook dat hij html kan includen. Ik dacht dat het simpel was maar als ik er html bijzet dan doet hij het niet...
 
Dat is een security leak; om daar even mee te beginnen, mensen kunnen nu echt alles toevoegen wat ze willen.

Als je html wilt includen kun je bijv doen:

PHP:
if ( file_exists ( $_GET['p'].".php" ) ) {
  include ( $_GET['p'].".php" );
}
else {
  include ( $_GET['p'].".html" );
}

Dan neemt ie de .php file als die bestaat, en anders de .html.
 
Include elseif

PHP:
<?php
if (file_exists( $_GET['p'].".php")) { 
  include ( $_GET['p'].".php" ); 
} 
else { 
  include ( $_GET['p'].".html" ); 
} 
elseif { 
  include ( $_GET['p'].".swf" ); 
} 
?>

Het werkt niet... Weet iemand hoe het wel moet? :thumb:
 
Wat werkt er niet?

Als je een 'p' parameter meegeeft die als pagina bestaat, dan zou het wel moeten werken.

Als je bijvoorbeeld 'home' ingeeft, dus: pagina.php?p=home, dan gaat ie kijken of home.php, home.html of home.swf bestaat. In dezelfde map als waar pagina.php staat.
 
Thread samengevoegd met je vorige aangezien het een uitbreiding is
 
elseif komt altijd voor else, en je moet bij een elseif altijd een andere conditie opgeven:

PHP:
<?php
if (file_exists( $_GET['p'].".php")) { 
  include ( $_GET['p'].".php" ); 
} 
elseif ( file_exists( $_GET['p'].".html" ) ) { 
  include ( $_GET['p'].".html" ); 
} 
else { 
  include ( $_GET['p'].".swf" ); 
} 
?>
 
Doe het dan zo:

PHP:
<?php
if (file_exists( $_GET['p'].".php")) { 
  include ( $_GET['p'].".php" ); 
} 
elseif ( file_exists( $_GET['p'].".html" ) ) { 
  include ( $_GET['p'].".html" ); 
} 
elseif ( file_exists( $_GET['p'].".swf") ) { 
  include ( $_GET['p'].".swf" ); 
} 
?>

Anders probeert ie een swf file te includen die waarschijnlijk niet bestaat. Als ie niet bestaat doet ie nu niks.
 
Die foutmelding komt voort uit een JavaScript fout.
 
Je zoekt in de map 'nieuwesite' naar viewer.swf

viewer.swf staat in 'http://www.digi-desmond.nl/nieuwesite/fotos/fotosklaar/'

je zult dus het pad naar de .SWF moeten aan passen. Daar moet dus foto/fotosklaar/ voor.
 
Je zoekt in de map 'nieuwesite' naar viewer.swf

viewer.swf staat in 'http://www.digi-desmond.nl/nieuwesite/fotos/fotosklaar/'

je zult dus het pad naar de .SWF moeten aan passen. Daar moet dus foto/fotosklaar/ voor.
BEDANKT dat was het :p:thumb:
 
oei oei oei... dit is een byzonder grote beginners fout en dit mag je echt never nooit niet doen.

met de volgende code kunnen er hele nare dingen gebeuren

include $_GET['p'].'.php';

zet maar eens .. in je url http://domain/?p=../pagenameinotherdir

ik zou bijvoorbeeld zo andere pagina's op kunnen vragen die eigenlijk nooit zichtbaar mogen zijn. Of zelfs van andere vhosts als de safemode uitstaat
 
Daarom heeft Frats er ook al op geattendeerd :rolleyes:
 
wat je kunt doen is een array aanmaken met daarin de pagina's die je kunt op vragen

PHP:
$possiblePages = array('test', 'index', 'blaat');

if (in_array($_GET['p'], $possiblePages)) {

// nu mag ik de pagina include 

} else {
  // include default page
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan