Autor Zpráva
Freedas
Profil
Nevíte, co by mohlo být za problém k této hlášce?

Notice: Undefined variable: clanek in D:\WebServer\www.janik-motorsport.com\janik\home.php on line 17

na strance www.janik-motorsport.com/janik. Diky
Marty
Profil
Tipuju to na nepovolenou hodnotu, možná nedefinovanou proměnou.
Zkopíruj sem kousek zdrojáku okolo problémového místa, pak budeme moudřejší.
FantomX1
Profil
Ja osobne si myslim ze davas vypisat nejaku premennu ktora nie je definovana. Napriklad mas nastavenu premennu $sub=10 a das omylom vypisat echo $sup; potom prave mozno preto ti to nejde, lebo mas chybu v mene premennej, ale je to len domienka. Mozno by sme ti vedeli pomoct viac keby si sem dal kusok skriptu. Samozrejme ten bezpecny.
Freedas
Profil
<? include("conndb.php"); ?>


<? if($page==""): $page="home";
endif;

$stranka="$page.php"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Mira Frýdecký - generováno přímo v html a php kódu">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<TITLE>..:: AMK Ecce Homo Team - Milan Kašpárek ::..</TITLE>
<LINK HREF="style.css" rel="STYLESHEET" type="text/css">
<meta name="keywords" content="ZAV, Šternberk, Sternberk, autosport, motosport, motorsport, Ecce, Homo, Ecce Homo, závody, závody do vrchu, vrchy, Milan Kašpárek, Kašpárek, Felicia, Kit-Car, Kit Car, Škoda, Škoda Felicia Kit-Car, Škoda Felicia Kit Car">
<meta name="description" content="www prezentace AMK Ecce Homo Teamu">


</HEAD>
<BODY>

<div align=center>
<a href="index.php?page=home"><img src="grafika/logo.jpg" border="0" width=760px height=100px alt="AMK Ecce Homo Team"></a><br>

<TABLE align=center width=760px border=0 CELLSPACING=0>
<TR valign=top><TD class=menu_normal style="width: 130px"><? include("menu.php"); ?></TD><TD rowspan="2">

<?

include("$stranka");

?>


<? include("sponzorlista.php"); ?></TD></TR>
<tr>
<td class=menu_normal valign=bottom style="text-align: center">&copy; webdesign by<br><b><a href="mailto:mira@milankasparek.com">mira frýdecký</a></b></td>
</tr>

</table>

</div>
</BODY>
</HTML>
Freedas
Profil
prave na jinych strankach mi to chodi, to je to.
FantomX1
Profil
Tuto podmienku zmen

if ($page==""):

$page="home";

endif;

Myslim si ze preto ti to nemusi ist, pretoze ti tam nastava iny stav a nie stav ze $page=="".
Stav $page=="" nastava len vtedy ked premenna $page ma hodnotu ale prazdneho retazca. Ale vtedy ma tiez urcitu premennu. Lenze ked ty zavolas skrip 1. krat, premenna $page este ani o sebe nevie ze existuje. A preto sa nevykona if ($page=="") pretoze $page sa vtedy v skutocnosti rovna $page==null-cize absolutne nicomu. Ja viem ze je to mozno na prve pocutie neuveritelne, ale aj prazdy retazec je urcita hodnota.

Preto pouzi namiesto svojej tuto podmienku

if (!is_set($page)):

$page="home";

endif;

Teda ak premenna $page este nema ziadnu hodnotu, cize nie je zinicializovana (to znamena ze uzivatel prave prisiel na hlavnu stranku a neklikol este na ziadny link), tak v tom pripade nadobudne hodnotu "home".
Freedas
Profil
to FantomX1: A nic


<? include("conndb.php"); ?>


<?

if (!is_set($page)):

$page="home";

endif;



$stranka="$page.php"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">...



Fatal error: Call to undefined function: is_set() in D:\WebServer\www.janik-motorsport.com\janik\index.php on line 5
Marty
Profil
Nepíše se ta funkce náhodou isset() ? Tedy pokud myslíš tu na zjištění deklarace proměnné.
Nebo to zkus obzávorkovat: if (!(is_set($page))):
Dero
Profil
isset() je správně
FantomX1
Profil
Ano, mas pravdu. Urobil som tam mensiu ale za to fatalnu chybu, neskor som si to uvedomil ale ponahlal som sa hrat futbal a mal som aj inu pracu.

Toto je vec, ktoru si dost casto mylim, pretoze podobne testovacie funkcie sa vacsinou vsetky pisu s podtrzitkom ako is_dir alebo is_int. Tak prepac a daj prosim vediet ci ti to uz ide.
krteczek
Profil
opět tu bude problém ve vyžších verzích php, bude vám to stále otvírat "home" protože jsou implicitně zakázané globální proměnne. Musíš upravit ten skript nějak takhle:

<?php
//kontrola, jestli je z formuláře odeslána naplněna proměnná typ
if(isset($_POST["typ"]))
{
$typ=$_POST["typ"];
echo 'Typ byl vyplněn';
}
else
{
echo "Nevyplnili jste položku typ";
}
?>

samozrejmě pokud předáváš proměnné pomocí getu tak jsou v $_GET
nebo bo mužeš použít pole $_REQUEST kde jsou uložene všechny proměnné

krteczek
DoubleThink
Profil *
Nevidím důvod to řešit - je to notice (upozornění) nikoliv chyba. Jenom si vypni v php.ini zobrazování upozornění.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0