Složení stránek z PHP – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Složení stránek z PHP – PHP – Fórum – Programujte.comSložení stránek z PHP – PHP – Fórum – Programujte.com

 

~ Anonymní uživatel
1 příspěvek
22. 2. 2018   #1
-
0
-

Ahoj. Chtěla bych z PHP složit webové stránky ale nefunguje mi to a nevím kde mám chybu. Neporadí mi někdo? Děkuji :)

 index.php

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        	<meta charset="utf-8" />
		<meta name="description" content="Zkouska PHP." />
		<meta name="keywords" content="php, zkouska, webdesign" />
		<meta name="author" content="Ka" />
		<link rel="shortcut icon" href="obrazky/ikona.ico" />
                <link rel="stylesheet" href="Novy2.css" type="text/css" />
		<title>Zkouška</title>
    </head>
    <body>
        <div class="F1">
            <p>F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1  F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 F1 </p>
        </div>
        <div class="F2">
            <nav>
                <ul>
                    <li><a href="index.php?stranka=CasteOtazky">Časté otázky</a></li>
                    <li><a href="index.php?stranka=Cenik">Ceník</a></li>
                    <li></li>
                </ul>
            </nav>
        </div>
        <section class="F3">
            
        <?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');
        }
        ?>
        </section>
        <div class="F4">
            <p>F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 F4 </p>
        </div>
    </body>
</html>

Časté otázky.php

<H2>Čato kladené otázky</H2>                        
      <p><b>Každý rok na podzim vytáhnete dekorace z dýně a sušených květin? Zkuste to letos trochu jinak! Dekoracím vládnou tradiční přírodní materiály, tlumené barevné odstíny a skandinávský vintage styl!Každý rok na podzim vytáhnete dekorace z dýně a sušených květin? Zkuste to letos trochu jinak! Dekoracím vládnou tradiční přírodní materiály, tlumené barevné odstíny a skandinávský vintage styl!</b>      
      </p>                              
      <p> <b>Jak mohu změnit svoji objednávku?</b>        
      </p>        
      <p>Pokud jste ještě svoji objednávku neodeslali, můžete jakékoliv údaje měnit a na jednotlivé kroky se vracet pomocí tlačítka "Upravit". Pokud jste již svoji objednávku odeslali, kontaktujte nás e-mailem nebo telefonicky a potřebné změny provedeme za Vás. Pokud by se stalo, že objednávku už zhotovuje příslušné květinářství v místě adresáta, jsou změny možné pouze po úhradě vzniklých nákladů.         
      </p>        
      <p><b>Kde uvidím konečnou cenu objednávky?</b>        
      </p>            
      <p>Před odesláním Vaší objednávky a tedy kliknutím na tlačítko  Objednat vidíte Souhrn objednávky, kde jsou přehledně rozepsané jednotlivé objednané položky a celková cena. Žádné další náklady již nejsou účtovány.         
      </p>              

CSS

.F1{
font-size: 20px;
background-color: yellow;
height: 300px;
width: 90%;
padding: 5%;
}
.F2{
font-size: 20px;
background-color:  aqua;
width: 30%;
height: 300px;
float: left;
padding: 5%;
}
.F3{
font-size: 20px;
background-color: rosybrown;
width: 50%;
height: 300px;
float: left;
padding: 5%;
}
.F4{
font-size: 20px;
background-color: hotpink;
width: 90%;
height: 200px;
padding: 5%;
float: left;
}
Nahlásit jako SPAM
IP: 109.105.39.–
peter
~ Anonymní uživatel
4016 příspěvků
22. 2. 2018   #2
-
0
-

1. Php kod si zpracuj do promennych pred htm. Dole pak pouzijes jenom echo $promenna. Coz je pak prehlednejsi a tez rychlejsi na zobrazeni.

2. v kodu nemas povolene error_reporting, takze ti to asi nepise zadnou chybu. Tezko hadat.

3. pro jmeno stranky pouzivas velka mapa pismena, ale reg. vyraz ti je odboura
stranka=CasteOtazky
preg_match('/^[a-z0-9]+$/', $stranka)
= string zacina ^ znaky [a-z0-9], ktere se opakuji az do jeho konce $ v poctu 1 az nekonecno
Pokud je ve stringu cokoliv jineho nez a-z0-9 nastava podminka
else { echo('Neplatný parametr'); ...
Velke pismeno je neco jineho. Pokud chces i velka pismena, uved to ve vyctu znaku [a-zA-Z0-9]

Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:38...–
Kit+15
Guru
22. 2. 2018   #3
-
0
-

#1
include není funkce, ale příkaz. Pozor na to. Kromě toho v něm máš bezpečnostní díru jako hrom.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:29b8:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Misha
~ Anonymní uživatel
6 příspěvků
1. 3. 2018   #4
-
0
-

include u kterých používáš proměnné získané jakkoliv od uživatele zapisuj alespoň takhle. Pořád to není ideální, ale je to lepší.

include('podstranky/' . basename($stranka) . '.php');

Ale každopádně mnohem bezpečnější je tenhle zápis, který sice nejde použít vždy, ale ve tvém případě rozhodně ano:

if (isset($_GET["stranka"]) && $_GET["stranka"] == "casteotazky") {
  include "podstranky/casteotazky.php";
} else if (isset($_GET["stranka"]) && $_GET["stranka"] == "cenik") {
  include "podstranky/cenik.php";
} else {
  include "404.php";
}
Nahlásit jako SPAM
IP: 89.31.11.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 32 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý