@hawk
Stronicowanie #1 (krytyczna luka: brak filtrowania tablic... można unieruchomić program

)
Stronicowanie #2: wersja optymalna
<?php
class Stronicowanie
{
private static function prepare
($name) { }
private static function strLink
($id, &$i, $f, $e) {
echo '<a href=\"'.self::$url.'?id='.$id.'&st='.$i.'\">[ '.$i.' ]</a> '; if ($f == 2 && $e > 4)
echo '... <a href=\"'.self::$url.'?id='.$id.'&st='.$e.'\">[ '.$e.' ]</a> '; }
public static function strPage
($id) {
$wynik = mysql_query(\"zapytanie\"); //z uzyciem $id...
$i = $iloscElementow / 15;
gettype($i) == 'integer' ?
'' : $i = (int
)$i + 1; $e = $i;
if($e > 4) $eF = 3; else $eF = $i;
@$nrSt = self::prepare($_GET['st']);
if(empty($nrSt)) $nrSt = 1;
if($nrSt < $i-2 && $nrSt != 1 && $e > 4) $i -= ($i - $nrSt)+1;
else if($i-2 <= $nrSt && $e > 4) $i -= 3;
else if($nrSt == 1 && $e > 4) $i = 1;
else if($e <= 4) $i = 1;
for ($f = 0; $f < $eF; $f++) {
self::strLink($id, $i, $f, $e);
$i++;
}
}
}
Stronicowanie::$url = 'adres.php';
Stronicowanie::strPage(26);
?>
~45% mniej kodu... efekt ten sam
@Anonimowy
jeżeli chodzi o źródło, możesz złamać zabezpieczenia serwera (jeżeli na serwerze jest gg i do tego używane przez admina lub kogoś innego to sciągasz odpowiednie programy i bierzesz co ci jest potrzebne

- oczywiście odradzam takie działania, powinny być raczej testowane na własnym sprzęcie w celu podniesienia bezp.)
innego sposobu raczej nie ma... tylko te nielegalne
stronka o szeroko pojętym bezpieczeństwie