Autor | Zpráva | ||
---|---|---|---|
obin Profil * |
#1 · Zasláno: 15. 12. 2007, 19:23:08
<?php
$uvod="uvod.php"; $id=$_GET["id"]; if ($id) { if (file_exists("content/".$id.'.php')) include("'content/".$id.".php"); else { include $dir."404.php"; } } else{ include ("content/".$uvod); } ?> v menu... <a href="index.php?id=aktuality"> Aktuality </a> kliknutim na <aktuality> by se mel do promenne id ulozit retezec aktuality. Prikaz if ($id) je vsak i po kliknuti vyhodnocen jako false. Proboha proc??? |
||
Taps Profil |
#2 · Zasláno: 15. 12. 2007, 19:36:53
obin
Podle toho co tu vidím napsané tak se mají includovat stránky co mají v názvu id to je např. 1.php 2.php atd. |
||
obin Profil * |
#3 · Zasláno: 15. 12. 2007, 19:38:51
to je snad podle toho, jak si nainicializujes promennou id ne?
|
||
Str4wberry Profil |
#4 · Zasláno: 15. 12. 2007, 19:43:05
Protože není typu boolean ale string („aktuality“). Použij isset.
if (isset($id)) { |
||
obin Profil * |
#5 · Zasláno: 15. 12. 2007, 19:46:48
vysledek stejny. V navigacni liste se mi objevi ze jsem v souboru ...index?id=aktuality ale zobrazeny zustane uvod
|
||
BetaCam Profil |
#6 · Zasláno: 15. 12. 2007, 19:57:02
<?php $uvod="uvod.php"; if (!empty($_GET["id"])) { if (file_exists('content/'.$id.'.php')) { include('content/'.$id.'.php'); } else { include $dir.'404.php'; } } else { include ("content/".$uvod); } ?> tak si to postav treba takhle |
||
obin Profil * |
#7 · Zasláno: 15. 12. 2007, 20:05:11
nefunguje. Promenna $_GET je proste prazdna.
jestli ji spis nenaplnuju blbe. Mam soubor index.php v nem je includovan soubor menu.php a v menu.php je radek <a href="index.php?id=aktuality>aktuality</a> index.php i menu.php jsou v korenovem adresari. |
||
BetaCam Profil |
#8 · Zasláno: 15. 12. 2007, 20:17:51
pokud voláš index.php?id=aktuality tak zákonitě v $_GET['id'] je uloženo "aktuality".
dej si tam echo '<pre>'; print_r($_GET); echo '</pre>'; pokud chces vidět co más v GET |
||
obin Profil * |
#9 · Zasláno: 15. 12. 2007, 20:20:18
lol, error je jinde, ja drive nejdriv vlozim menu, ktery vola ten index.php?..... a az potom je v kodu vlozenej skript na vyhodnoceni.
|
||
obin Profil * |
#10 · Zasláno: 15. 12. 2007, 20:24:17
aha, tak ne. Nefunguje a promenna $_GET je opravdu prazdna
|
||
obin Profil * |
#11 · Zasláno: 15. 12. 2007, 21:08:30
omlouvam se vsem, ktere jsem zatezoval timto vlaknem, chyba byla mezi zidli a klavesnici.
|
||
obin Profil * |
#12 · Zasláno: 15. 12. 2007, 21:40:18
problem byl v tom, ze jsem na zacatku souboru index.php mel $_GET['id']=NULL a ono ho to hazelo null porad. Ale ted, kdyz jsem to oddelal to sice funguje spravne, ale zobrazuje se mi hlaska
Notice: Undefined index: id in c:\www\webGL\index.php on line 37 Uz mi tu nekdo radil, ze to musim inicializovat, ale jak? |
||
Str4wberry Profil |
#13 · Zasláno: 15. 12. 2007, 21:46:33
Jaký je současný kód? V tom původním je neinicializována proměnná $dir.
http://php.vrana.cz/inicializace-promennych.php |
||
BetaCam Profil |
#14 · Zasláno: 15. 12. 2007, 21:47:44
GET hodnoty nejdou dost dobře inicializovat předem před jejich použitím.
Použij místo if ($_GET['id']) tohle if (isset($_GET['id'])) poté by se ti neměla výstraha zobrazovat |
||
obin Profil * |
#15 · Zasláno: 15. 12. 2007, 21:49:16
jenze ta chyba se zobrazuje na radku $id=$_GET["id"];
|
||
BetaCam Profil |
#16 · Zasláno: 15. 12. 2007, 21:56:49 · Upravil/a: BetaCam
tak si tam místo toho řádku dej třeba :
(isset($_GET['id'])) ? $id = $_GET['id'] : $id = FALSE; když už chceš $_GET['id'] přiřazovat jiné proměnné. |
||
djlj Profil |
#17 · Zasláno: 15. 12. 2007, 22:32:30
Taps
V proměnné $id může být uloženo třeba "šalalala". Na jménu proměnné nezáleží. |
||
Časová prodleva: 16 let
|
0