Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Kejmou
Člen
Avatar
Kejmou:3.9.2014 14:49

Ahoj,

kde je prosím chyba?

<?php
if (isset($_GET['stranka']))
        $stranka = $_GET['stranka'];
else
        $stranka = 'domu';
if (preg_match('/^[a-z0-9]+$/', $stranka))
{
        $vlozeno = include('podstranky/' . $stranka . '.php');
        if (!$vlozeno)
                echo('Podstránka nenalezena');
}
else
        echo('Neplatný parametr.');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <style type="css/text">

  </style>
  <title>Skládání stránek</title>
  </head>
  <body>
          <div class="skladanka">
             <ul>
               <li><a href="index.php?stranka=domu">Index</a></li>
               <li><a href="index.php?stranka=modra">Modrá</a></li>
               <li><a href="index.php?stranka=zelena">Zelená</a></li>
               <li><a href="index.php?stranka=cervena">Červená</a></li>
               <li><a href="index.php?stranka=fialova">Fialová</a></li>
             </ul>
          </div>

  </body>
</html>
Editováno 3.9.2014 14:49
 
Odpovědět 3.9.2014 14:49
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Kejmou
Honza Bittner:3.9.2014 14:55

A máš soubor domu.php ve složce podstranky?

Nahoru Odpovědět  +2 3.9.2014 14:55
Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a zeptat na cokoli se mě můžeš na https://github.com/HoBi/...
Avatar
Odpovídá na Kejmou
Ondřej Štorc:3.9.2014 14:55

Sice nejsem expert na php ale nebylo by lepší mít to include takhle:

$vlozeno = include("podstranky/$stranka.php");
Nahoru Odpovědět 3.9.2014 14:55
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Bogdan
Redaktor
Avatar
Bogdan:3.9.2014 15:21

Je tam psáno že soubor nebo složka neexistuje, takže buď se odkazuješ na špatnou složku nebo na soubor který není.

PS: Možná taky že máš složku někde schovanou a k ní se pak odkazuje pomoci teček.

../../../atd..

Editováno 3.9.2014 15:21
 
Nahoru Odpovědět  +2 3.9.2014 15:21
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Bogdan
Jiří Gracík:3.9.2014 15:44

Lépe s lomítkem na začátku - od rootu ;)

Nahoru Odpovědět  +2 3.9.2014 15:44
Creating websites is awesome till you see the result in another browser ...
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Kejmou
Marek Z.:3.9.2014 16:43

Zkus toto:

$vlozeno = include('./podstranky/' . $stranka . '.php');//Přidáš tam './'

A také bych doporučoval zjišťovat zda-li soubor existuje funkcí 'file_exists' -> http://php.net/…e-exists.php

Takže to může vypadat nějak takto:

$vlozeno = './podstranky/' . $stranka . '.php';

if(file_exists($vlozeno)){
include $vlozeno;
}else{
echo 'Obsah nebyl nalezen!';
}
Nahoru Odpovědět 3.9.2014 16:43
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.