| Autor | Zpráva | ||
|---|---|---|---|
| roboti006 Profil * |
#1 · Zasláno: 15. 11. 2011, 21:00:29
Ahoj. Snažím se sestavit svůj web z příkazů include. Ani jedno nefunguje.
Nevím co tady nesedí, asi to CSS menu, ale je to příšerné ([url=sjiaphoto.euweb.cz/php/domos.php]Odkaz[/url]) Prosím poraďte mi <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Šionův web | <?php echo $titulek?></title>
<link rel="stylesheet" type="text/css" href="styly/stylecek.css">
<link rel="stylesheet" type="text/css" href="styly/menu.css">
</head>
<body style="background:url(img/pozadi_vertikal_repeat.jpg) repeat-y center fixed" bgcolor="#898755" text="#0A4200" style="background-repeat: repeat-y center fixed">
<?php include ("top.php");
//zajištění hodnoty pg (nazevsouboru.php?pg=toto)
$pin = $_GET['pg'];
if ($pin==''){
include('pgs/domu.php');
}
else {
include('pgs/$pin.php');
}
//Vypsání titulku stránky (proměnná $titulek - v hlavičce jako <title> )
if ($pin==''){
$titulek = "Domů";
}
elseif ($pin=='linkos'){
$titulek = "Odkazy";
}
elseif ($pin=='kontaktos'){
$titulek = "Kontakt";
}
elseif ($pin=='downos'){
$titulek = "Ke stažení";
}
elseif ($pin=='infos'){
$titulek = "Informace o stránce";
}
elseif ($pin=='fotglos'){
$titulek = "Fotogalerie";
}
elseif ($pin=='aktivitos'){
$titulek = "Aktivity";
}
elseif ($pin=='vtipos'){
$titulek = "Vtipy";
}
else{
$titulek = "Stránka nenalezena";
}
//přidání externí patičky s Copyrightem...
//poznámka: přidat Banner rotator + generátor $titulek
include ("spodky.php")
?>
</body>
</html> |
||
| jenikkozak Profil |
#2 · Zasláno: 15. 11. 2011, 21:08:00 · Upravil/a: jenikkozak
roboti006:
1) Místo apostrofů na 16. řádku použij uvozovky. Názvy proměnných v apostrofech se nenahrazují jejich hodnotami. 2) Na 4. řádku vypisuješ proměnnou $titulek, ale hodnotu do ní vkládáš až na řádcích 20 - 45. V době, kdy ji vypisuješ, ještě žádnou hodnotu neobsahuje. Takže celou část od 10. do 45. řádku přesuň před první. |
||
| panther Profil |
#3 · Zasláno: 16. 11. 2011, 06:21:55
|
||
| roboti006 Profil * |
#4 · Zasláno: 16. 11. 2011, 09:00:28
Takže mám nejdříve zjistit hodnotu "pg", vyhodnotit titulek a teprve potom to vypisovat. A to celé v tagu
<title></title> Switch jsem též zkoumal, přišlo mi to příliš jednoduché na to aby to fungovalo, ale vyzkouším :) Ještě dotaz před tím: Jak mám zapsat prázdný "pg" do switche? |
||
| okolojdouci Profil * |
#5 · Zasláno: 16. 11. 2011, 09:03:42
roboti006:
> Takže mám nejdříve zjistit hodnotu "pg", vyhodnotit titulek a teprve potom to vypisovat. A to celé v tagu > 1 > <title></title> Věta "A to celé v tagu" nedává smysl. Nejdřív proveď ten switch, pak vyplivni to html a v něm mj proměnnou $titulek. |
||
| roboti006 Profil * |
#6 · Zasláno: 16. 11. 2011, 09:30:27
<title>Šionův web | <?php $pin = $_GET['pg'];
switch ($pin) {
case "":
$titulek = Domů;
break
case "linkos":
$titulek = Odkazy;
break
case "kontaktos":
$titulek = Kontakt;
break
}
echo $titulek ?></title>syntax error unexpected T_case |
||
| okolojdouci Profil * |
#7 · Zasláno: 16. 11. 2011, 09:37:30
roboti006:
za break nad tím ti chybí středník. A kromě toho řetězce patří do uvozovek: $titulek = "Domů"; |
||
| roboti006 Profil * |
#8 · Zasláno: 16. 11. 2011, 11:45:19
Takže to má vypadat nějak takto
<?php $pin = $_GET['pg'];
switch ($pin) {
case "":
$titulek = "Domů";
break;
case "linkos":
$titulek = "Odkazy";
break;
case "kontaktos":
$titulek = "Kontakt";
break;
//...
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Šionův web | <?php echo $titulek ?></title>
<link rel="stylesheet" type="text/css" href="styly/stylecek.css">
<link rel="stylesheet" type="text/css" href="styly/menu.css">
</head> |
||
| roboti006 Profil * |
#9 · Zasláno: 16. 11. 2011, 19:34:00
Další problém který to vytvořilo (PHP Designer - začínám bý nevrlý - vyskakují cedule které brání část kódu v bloku před upravením),
a sice tag </html> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php $pid = $_GET['pg'];
switch ($pid) {
case "":
$titulek = "Domů";
break;
case "linkos":
$titulek = "Odkazy";
break;
case "kontaktos":
$titulek = "Kontakt";
break;
case "st_infos":
$titulek = "Informace o stránce";
break;
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Šionův web | <?php echo $titulek ?></title>
<link rel="stylesheet" type="text/css" href="styly/stylecek.css">
<link rel="stylesheet" type="text/css" href="styly/menu.css">
</head>
<body style="background:url(img/pozadi_vertikal_repeat.jpg) repeat-y center fixed" bgcolor="#898755" text="#0A4200" style="background-repeat: repeat-y center fixed">
<?php include ("top.php");
//zajištění hodnoty pg (nazevsouboru.php?pg=toto)
if ($pin==''){
include(pgs/domu.php);
}
else {
include(pgs/$pid.php);
}
include ("spodky.php");
?>
</body>
</html> |
||
| Han Profil |
#10 · Zasláno: 16. 11. 2011, 20:52:07 · Upravil/a: Han
Hádže ti to chybu unexpected $end? V tom skripte v hlavičke ti chýba koncová zložená zátvorka "}"
|
||
| roboti006 Profil * |
#11 · Zasláno: 17. 11. 2011, 09:07:05
Já jsem si myslel že to reaguje na chybu v posledním skriptu... a zkontroloval jen ten jeden...
Ještě bych potřeboval poradit s tím CSS menu (stažená součástka). Myslím že jsem si s tím celkem dobře poradil (jako s includem) ale odmítá háčky a čárky (ikdyž mám kódování utf-8 u všech souboru a v hlavičce <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> |
||
| jenikkozak Profil |
#12 · Zasláno: 17. 11. 2011, 09:14:02
roboti006:
„ikdyž mám kódování utf-8“ > a v hlavičce 1 > <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> Tak si vyber. V hlavičce máš totiž <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">. Ukládej všechny soubory, ze kterých stránku skládáš, v uft-8 a uváděj kódování utf-8. |
||
| roboti006 Profil * |
#13 · Zasláno: 17. 11. 2011, 10:07:16
Aaa díky... Háčkyčárky fungují, ale položky menu se mi seskupí do tří řad a to já nechci, potřebuju jen aby se seřadily za sebe do jedné řady.. nevíte co to chce? Přemýšlel jsem o tom, trochu a nevím jestli to není těmi <li> co tam jsou ale asi zřejmě není, protože se roztřídily po třech odkazech do řádků... CSS vypadá takto:
* {margin: 0; padding: 0;}
html {height: 100%; font-size: 62.5%;}
body {height: 100%; text-align: center; font: 1.2em Verdana, Arial, Helvetica, sans-serif; position: relative; min-width: 960px;}
#header {height: 150px;}
#menu-box {background: #1C4E71 url('img/menu-bg.gif') repeat-x 0 0;}
#menu {width: 960px; margin: 0 auto;}
#menu li {
float: center;
display: inline;
list-style-type: none;
text-align: center;
}
#menu li a {
text-decoration: none;
color: #FFF;
float: left;
display: inline;
line-height: 35px;
padding: 0 18px;
border-right: 1px solid #6E9DBE;
margin-left: 162px;
}
#menu li.first a {border-center: 1px solid #6E9DBE;}
#menu li a:hover, #menu li a.active {background-color: #133F5D;}
/* Clearfix */
.clearfix:after {
display: block;
clear: both;
visibility: hidden;
height: 0;
font-size: 0;
content: ' ';
}
.clearfix {min-height: 1px; margin-right: 132px;}
.clearfix {display: inline-block;} /* Pro IE/Mac */
/* Backslash hack - nemel by to videt IE/Mac \*/
.clearfix {display: block;}
/* Konec hacku */ |
||
| jenikkozak Profil |
#14 · Zasláno: 17. 11. 2011, 10:14:05
roboti006:
Což vzít odkazům ten margin-left: 162px? |
||
| roboti006 Profil * |
#15 · Zasláno: 17. 11. 2011, 11:03:49
Díky... zapoměl jsem na něj jsem jej tam přidal, nemělo to ten efekt jsem se na to vykašlal a zapoměl...
Myslíte že by bylo dobré (podle mě i celkem bezpečné) použít "switch" na includování stránky? myslím nějak takto:
$pid = $_Get['pid']
swith ($pid)
case ""
include ("pgs/uvod.php")
...popřípadě tam přidat stránku kterou by to includovalo kdyby byla nějaká chyba v zadané adrese (něco jako 404 ale jen pro případ špatného zadání (četl jsem o default), máte nějakou radu ohledně takovýchto chybových výpisů? |
||
|
Časová prodleva: 15 let
|
|||
0