Diskuze: PHP - podstranky

PHP PHP PHP - podstranky American English version English version

Aktivity (1)
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. Followuj mě na https://twitter.com/tenhobi a ptej se na https://github.com/HoBi/ama.
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
BlugW
Redaktor
Avatar
BlugW: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
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.com
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na BlugW
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.