ugrás a tartalomhoz

include megakadás

Batka1985 · 2010. Ápr. 27. (K), 19.48
Sziasztok!
Következő a szitu. Content div-be szeretném, hogy betöltődjön a tartalom. Ha a "Főoldal" menüpontra kattintok a main.php szöveges tartalma, ha a "Menu 2" menüpontra akkor pedig az oldal.php szöveges tartalma. Viszont jelenleg ha rákattintok nem csinál semmit. Megmondanátok, h hol a hiba, és segítenétek kijavítani! Előre is köszi az ötleteket!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
    <title><!-- Insert your title here --></title>
   
    <link rel="stylesheet" href="div_jo_style.css" type="text/css">

   
</head>
<body>
    <div id="wrapper" class="wrapper">
   
        <div class="header">
            header
        </div>
       
        <div class="menu_left">
            <p><a href="index.php">Főoldal</a></p>
            <p><a href="index.php?x=oldal">Menü 2</a></p>
            <p><a href="http://www.iwiw.hu">Menu 3 </a></p>
        </div>
       
        <div class="content">
           <?PHP
$x = $_GET['x'];
if(!isset($x)) {
$x = "main";
}
$file = $x . ".php";
if(file_exists($file)){
include("$file");
}
 ?>
        </div>
       
        <div class="footer">
            footer
        </div>    
   
    </div>    
</body>
</html>
 
1

Komolyabb ellenőrzés

Poetro · 2010. Ápr. 27. (K), 20.11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
  <title><!-- Insert your title here --></title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" href="div_jo_style.css" type="text/css">
</head>
<body>
  <div id="wrapper" class="wrapper">
    <div class="header">
      header
    </div>

    <div class="menu_left">
      <p><a href="index.php">Főoldal</a></p>
      <p><a href="index.php?x=oldal">Menü 2</a></p>
      <p><a href="http://www.iwiw.hu">Menu 3 </a></p>
    </div>
      <div class="content">
<?php
$x = isset($_GET['x']) ? $_GET['x'] : 'main';
$file = $x . '.php';
// Megnézzük a fájl olvasható-e, és engedélyezett-e mint menüpont.
if (is_readable($file) && in_array($x, array('main', 'oldal'))){
  // Ha igen, akkor kirakjuk.
  include $file;
}
?>
    </div>

    <div class="footer">
      footer
    </div>

  </div>
</body>
</html>
Ugyanis ha nem csinálunk komolyabb ellenőrzést, akkor akármelyik PHP fájlt be tudja include-olni, ami nem feltétlen szerencsés, például ha valaki a x értékének mondjuk azt adja, hogy index, akkor végtelen ciklusba kerülnénk.
2

Köszi a segítséget! Működik!

Batka1985 · 2010. Ápr. 28. (Sze), 19.36
Köszi a segítséget! Működik!
3

Hali! Van egy "xy" nevű

ventee · 2010. Május. 25. (K), 16.31
Hali!
Van egy "xy" nevű könyvtár, ami nagyon sok fájlt tartalmaz, és ezeket szeretném is include-olni, de nem akarom külön-külön megadni őket a kódban. Megoldható, h csak a könyvtár elérési útját adjam meg, úgy, hogy a tartalmát meg is lehessen hívni?
4

Nem

Poetro · 2010. Május. 25. (K), 21.02
Ugyanakkor írhatsz kódot, ami végignézi a könyvtáradat és egyesével beincludeolja a megfelelő fájlokat.