Paginazione file di testo

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questa paginazione file di testo che funziona tranquillamente ..

ma ho un problema se uno digita p.php?pos=3+\
mi va in ciclo infinito..quando la paginazione è settata a 1.

come posso fare per proteggerla?

ecco il codice:

PHP:
<?php
$file = file('news.txt');

$perpage = 100;

if(!isset($_GET['pos']))
$_GET['pos'] = 0;

$count = count($file);

for($i = $_GET['pos']; $i < ($perpage+$_GET['pos']); $i++)
{
    if($i > $count-1) break;
    
$result = explode("#", trim($file[$count-$i-1]));

$titolo = $result['0'];
$testo = $result['1'];
$data = $result['2']

?>
<p><?php echo $titolo; ?></p>
<p><?php echo $data; ?></p>
<?php
}

echo "<div align=\"center\">[ ";
for($p = 0; $p < $count; $p++)
{
    if(!($p % $perpage))
    {
        $pg = ($p/$perpage)+1;
        if ($p == $_GET['pos'])
        {
            echo "<strong>$pg</strong> ";
        }
        else
        {
            echo "<a href=\"?pos=$p\">$pg</a> ";
        }
    }
}
echo " ]</div>";
?>

vi ringrazio molto e buona serata.
 
Ciao, puoi provare sostituendo questo
PHP:
if (!isset($_GET['pos']))
    $_GET['pos'] = 0;
con questo
PHP:
if (!isset($_GET['pos']) || (int) $_GET['pos'] == 0)
    $_GET['pos'] = 0;
in pratica forzi la variabile ad essere un numero intero
 

Discussioni simili