Na Pipni.cz instli nového Apache a od té doby mi nefunguje jeden skript... Nevíte, v čem je chyba?
function predchozi_dalsi($zobrazena_strana, $pocet_stran)
{
if (($zobrazena_strana==1) && ($zobrazena_strana==$pocet_stran))
{ return ""; }
elseif (($zobrazena_strana!=1) && ($zobrazena_strana==$pocet_stran))
{ for($t=1; $t<= $pocet_stran; $t++) $vse = $vse." <a href=\"index.php?akce=katalog&zobrazena_strana=".$t."\">".$t."</a> ";
return "<a href=\"index.php?akce=katalog&zobrazena_strana=".($zobrazena_strana-1)."\"><<< PŘEDCHOZÍ</a> | ".$vse." | DALŠÍ >>>"; }
elseif (($zobrazena_strana!=$pocet_stran) && ($zobrazena_strana>1))
{ for($t=1; $t<= $pocet_stran; $t++):
$vse = $vse." <a href=\"index.php?akce=katalog&zobrazena_strana=".$t."\">".$t."</a> ";
endfor;
return "<a href=\"index.php?akce=katalog&zobrazena_strana=".($zobrazena_strana-1)."\"><<< PŘEDCHOZÍ</a> | ".$vse." | <a href=\"index.php?akce=katalog&zobrazena_strana=".($zobrazena_strana+1)."\">DALŠÍ >>></a>"; }
elseif (($zobrazena_strana==1) && ($pocet_stran!=1))
{ for($t=1; $t<= $pocet_stran; $t++) $vse = $vse." <a href=\"index.php?akce=katalog&zobrazena_strana=".$t."\">".$t."</a> ";
return "<table align=\"center\"><tr><td><<< PŘEDCHOZÍ | ".$vse." | <a href=\"index.php?akce=katalog&zobrazena_strana=".($zobrazena_strana+1)."\">DALŠÍ >>></a></td></tr></table>"; }
else
return "";
}
Já nic nevidím, ale nakonci třeba s:
echo predchozi_dalsi(10, 10);
mi to funguje normálně.
Co to píše za chybu a kde?
Ono to nepíše chybu... Ono to nezobrazí vůbec nic.
A posíláš do tý funkce hodnoty jak píšu výše? Zkontroluj si to hned na začátku ve funkci, třeba s echo "<!-- jsem ve funkci -->";
Do té funkce posílám hodnoty...
echo "<tr><td>" . predchozi_dalsi($zobrazena_strana, $pocet_stran) . "</td></tr></table>";
Tady je problém.... nevím jaký...
Jak píšu. Hned na začátku funkce zkontrolovat, jestli jsi tam, a také zkontrolovat obsah obou proměnných. Při určitých hodnotách tam máš return "";
ANO MÁM... Už jsem psal, že do toho posílám hodnoty
Přišel jsem na závratnou věc... někdy to funguje, někdy ne... (tak 1:10 :))
Tak naposled :-)
Stejně jako se v klasickém programování používají breakpointy, použil bych je podobně i tady. Na vstupu do funkce, v ní, v jednotlivých podmínkách atd.
Víc neporadím. Prostě odladit, zkontrolovat všude kde je to důležité hodnoty proměnných a vstup do podmínek a zjistit co se děje resp. neděje, a pak už bude i lépe zjistitelné: proč.
A zapnul bych zobrazování všech chyb, tj. error_reporting(255)
Nemaji vyple register_globals?
To Sojkovec: Ne, ani na placeným ani na free to vypnutý nemaj:
http://wwwX.pipni.cz/phpinfo.php
X - nic, 2 - 4