Dobrý den,
potýkám se s jedním problémem. Koukněte se na tuhle stránku: http://gymstr.cz/fyzikalni_pokusy/
Pokud kliknete na název nějakého pokusu z tabulky, měl by se zobrazit jeho detail, ale místo toho se zobrazí prázdná stránka. Na serveru je potlačeno vypisování chyb, ale pokud by bylo zapnuté, vypsalo by to toto: Parse error: syntax error, unexpected $end in /srv/www/htdocs/fyzikalni_pokusy/pokus.php on line 68 .
Nevíte, kde by mohla být chyba?
Zajímavé je, že zde jsou nahrané úplně stejné soubory a funguje to: http://fyzika.slapoty.cz/
Předem díky za odpověď.
Fórum › PHP
Chyba
Teď na to koukam znova, mohlo by tomu vadit tohle:
<p style="margin-top: 25px;">
<a href="<?php echo $GLOBALS['koren']?>upravit-fotogalerii/<?php echo $_GET['ID']?>/">
Upravit fotogalerii
</a>
•
<a href="<?php echo $GLOBALS['koren']?>videa/<?php echo $_GET['ID']?>/">
Videa
</a>
•
<a href="<?php echo $GLOBALS['koren']?>upravit-pokus/<?php echo $zaz['url']?>/">
Upravit
</a>
•
<a href="<?php echo $GLOBALS['koren']?>smaz-pokus.php?ID=<?php echo $_GET['ID']?>">
Smazat
</a>
</p>
Vím, že by lépe šlo použít toto:
<?= $GLOBALS['koren']?>
ale to prostě na tom serveru, kam to chceme dát, nefungovalo...:(
survik1
A kde máš za echo středník? Utekl?
V tomto případě není potřeba. ?> může sloužit místo středníku (testováno PHP 5.2.9 CLI). Schválně si to všichni zkuste :o)
Jo, ten druhý způsob je mnohem praktičtější.
A nefunguje, když je vypnuto short_open_tag[1], takže bacha na to.
HoHo
Chybí tam někde uzavírací závorka, či podobně, jak napsal z_moravec. Doporučuji používat editor, který barevně vyznačuje související závorky.
[1] http://cz.php.net/manual/en/ini.core.php#ini.short-open-tag
To HoHo : spis si to blbe nahradil..
ja sem striktne zacal pouzivat <?php nekdy v dobe, co sem v praci dostal za ukol presunout asi 2 desitky webu s <? na misto, kde short tagy byly zakazany.. sice sem to resil sedem, ale i tak porod
chyba bude spis ze neco neuzaviras.. davej ; za echo a tak .. zkontroluj jestli mas vsude konce { }
To HoHo : Je třeba taky brát ohled na verzi PHP a na nastavení PHP. Nejlehčí je používat normální tagy <?php, za vším dělat středník, atd., atd., atd... protože, i když je třeba něco zakázáno v php.ini, tak jsou zdrojáky, které Ti poběží všude... ať už jsou povoleny short_tags, register_globals a nebo je PHP v safe_mode (teď neberu zakázání některých funkcí, které může navolit správce individuálně), a tak různě.
Dávám sem tedy k dispozici celý zdroják "vadného" souboru. Poznáte někdo, kde by mohla bát chyba?
<?php
function obsah()
{
if (isset($_GET['ID']) && is_numeric($_GET['ID']))
{
$sql = "SELECT nazev, rocnik, kapitola, popis, pomucky, foto, url, slova, poznvid FROM pokusy WHERE ID = ".$_GET['ID'];
$res = mysql_query($sql);
if (mysql_num_rows($res) == 1)
{
$zaz = mysql_fetch_array($res);
?>
<h1><?php echo stripslashes($zaz['nazev'])?></h1>
<p><?php echo vrat_rocnik($zaz['rocnik'])?><?php
if ($zaz['kapitola'] != "")
{
echo " - ".stripslashes($zaz['kapitola']);
}
if ($zaz['slova'] != "")
{
echo " - ".stripslashes($zaz['slova']);
}
?></p>
<p style="margin-top: 15px;"><strong>Popis:</strong></p>
<p><?php echo uprav_text($zaz['popis'])?></p>
<p style="margin-top: 15px;"><strong>Pomůcky:</strong></p>
<p><?php echo uprav_text($zaz['pomucky'])?></p>
<p style="margin-top: 15px;"><strong>Fotky:</strong></p>
<?php
$sql = "SELECT nazev FROM fotky WHERE pokus = ".$_GET['ID'];
$res2 = mysql_query($sql);
while ($zaz2 = mysql_fetch_array($res2))
{
?>
<a href="<?php echo $GLOBALS['koren']?>obrazky/<?php echo $zaz2['nazev']?>"><img src="<?php echo $GLOBALS['koren']?>obrazky/<?php echo $zaz2['nazev']?>" alt="Fotka" class="obr" /></a>
<?php
}
?>
<p style="margin-top: 15px;"><strong>Videa:</strong></p>
<?php
$sql = "SELECT nazev FROM videa WHERE pokus = ".$_GET['ID'];
$res = mysql_query($sql);
while ($zazvid = mysql_fetch_array($res))
{
?>
<p><a href="<?php echo $GLOBALS['koren']?>videa/<?php echo stripslashes($zazvid['nazev'])?>"><?php echo $GLOBALS['serv']?>videa/<?php echo stripslashes($zazvid['nazev'])?></a></p>
<?
}
?>
<p style="margin-top: 15px;"><strong>Poznámky k videím:</strong></p>
<p><?php echo uprav_text($zaz['poznvid'])?></p>
<p style="margin-top: 25px;"><a href="<?php echo $GLOBALS['koren']?>upravit-fotogalerii/<?php echo $_GET['ID']?>/">Upravit fotogalerii</a> • <a href="<?php echo $GLOBALS['koren']?>videa/<?php echo $_GET['ID']?>/">Videa</a> • <a href="<?php echo $GLOBALS['koren']?>upravit-pokus/<?php echo $zaz['url']?>/">Upravit</a> • <a href="<?php echo $GLOBALS['koren']?>smaz-pokus.php?ID=<?php echo $_GET['ID']?>">Smazat</a></p>
<?php
}
}
}
function uprav_text($text)
{
$text = stripslashes($text);
$text = htmlspecialchars($text);
$text = str_replace("\r\n", "", $text);
$text = preg_replace("((http://[^ <]{1,}))", "<a href=\"$1\">$1</a>", $text);
return $text;
}
?>
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze