Blätterfunktion geht nicht

schiese

Erfahrenes Mitglied
Hallo,
ich habe eine Blätterfunktion hier aus dem Forum. Bei mir aufm PC fubktioniert es, aber aufm Server nicht. Kann es an register_globals = off liegen? Kann ich es irgendwie umschreiben?

PHP:
$lines = file("eintraege.txt"); 
$total = count($lines); 
$proseite = 10; 
if (! isset($page))   
{ $page = 1;} 

$seiten = ceil($total /$proseite); ) 


for ($i = ($total - ($proseite*($page-1))); $i >= ($total - (($proseite*$page)-1)) ;$i--) 
{  
    if (!isset($lines[$i-1])) {echo "";}  
    else { 
    $zeile = $lines[$i-1]; 
    list($date,$name,$email,$ohne) = explode ("|--|", $zeile);

} 
} 
 $max = "10"; 

if (! $page > 0) { 
    $page = 1; 
} 

if (intval($total/$max)+1 < $page) { 
    $page=1; 
} 

if ($total >= $page*$max) { 
    $lastrec = $page*$max; 
} 
else { 
    $lastrec = (($page-1)*$max) + ($total % $max); 
} 


$range= 2;  

if ($page - $range > 1){ 
echo "<a href=\"$PHP_SELF?page=1\">1</a>\n"; 
} 

if($page -1 > 0){ 
echo "<a href=\"$PHP_SELF?page=".($page-1)."\"><<</a>\n"; 
} 
 
if ($page - $range <= 0){ 
    $start = 1; 
    } 
else { 
   $start = $page - $range; 
} 

if ($page + $range > $total/$max){ 
    if($total%$max > 0){ 
        $ende = intval($total/$max) +1; 
    } 
    else{ 
        $ende = intval($total/$max); 
    } 
} 
else { 
$ende = $page + $range; 
} 

for ($i=$start; $i<= $ende; $i++) {
    if ($i != $page) { 
        echo "<a href=\"$PHP_SELF?page=$i\">$i</a>\n";
    } 
    else { 
        echo "<span class=\"navizahl\">$i</span>";
    } 
   print " "; 
}  
if ($page < intval($total/$max)){  
echo "<a href=\"$PHP_SELF?page=".($page+1)."\">>></a>\n"; 
} 
 if ( $page < ($total/$max) - $range) { 
    if($total%$max > 0){ 
        $ende = intval($total/$max) +1; 
        echo "<a href=\"$PHP_SELF?page=$ende\">$ende</a>\n"; 
    } 
    else{ 
        $ende = intval($total/$max); 
        echo "<a href=\"$PHP_SELF?page=$ende\">$ende</a>\n"; 
    } 
}

schiese
 
Wenn es an den Register Gloabls liegt, dann schreibe das Script doch einfach um. Sollte ja kein Problem sein, wenn man weis, woher welche Variable stammt.

Variabeln über die URL: $_GET['VARNAME']
Variablen über ein Forumular mit der Methode POST: $_POST['VARNAME']
Variabeln, die vom Server stammen: $_SERVER['VARNAME']

Zudem sollte man immer so programmieren, als wären auf dem Server alle möglichen Sicherheitsoptionen, usw aktiviert.
 
Hallo!
schiese hat gesagt.:
.....Kann es an register_globals = off liegen?.....
Ja.
Aus $PHP_SELF wird $_SERVER['PHP_SELF'].
Die Links werden per GET übergeben, so wird also z.b. aus $page $_GET['page'].

Gruss Dr Dau
 
Zurück