Blätterfunktion - mal gehts, mal nicht

schiese

Erfahrenes Mitglied
Hallo,
ich habe hier nach längerem Suchen endlich eine Blätterfunktion gefunden, die ich gebrauchen kann. Bei mir zu Hause läuft sie allerdings nicht, dafür aber online . Liegt es vielleicht an irgendwelchen Einstellungen? Ich bin noch neu auf dem Gebiet und habe keine Ahnung, wie ich es bei mir zu Hause zum Laufen krieg.

Ich hoffe, mir kann jemand helfen

Falls noch Informationen benötigt werden, werde ich sie reinsetzen. Ich habe jeweils PHP5. php.ini

Danke Gunnar

PHP:
<?php 
$lines = file("edit.txt"); 
$total = count($lines); 
$proseite = 3; 
if (! isset($page)) // !isset wenn sie nicht gezetzt ist wird $page=1  
{ $page = 1;} 

$seiten = ceil($total /$proseite); //ceil rundet auf wir wollen ja alles anzeigen lassen ) 


for ($i = ($total - ($proseite*($page-1))); $i >= ($total - (($proseite*$page)-1)) ;$i--) 
{  
    if (!isset($lines[$i-1])) {echo "";}  //wenn in den Zeilen nichts steht wird nichts ausgegeben 
    else { 
    $zeile = $lines[$i-1]; 
    list($user,$topic,$text,$datum,$icon,$link,$na2) = explode ("|--|", $zeile); 
    echo $user; 
    echo  "--"; 
    echo $topic; 
    echo "<br><br>"; 
} 
} 
 $max = "3"; 


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;   // Seitenzahl von der jetzigen Seite - 3 bis + 3 werden angezeigt. 

if ($page - $range > 1){ // immer Seite 1 anzeigen, wenn weitergeblättert 
echo "<a href=\"$PHP_SELF?page=1\">1</a>"; 
} 

if($page -1 > 0){ 
echo "<a href=\"$PHP_SELF?page=".($page-1)."\"><<<</a>"; 
} 
//niedrigste Seitenzahl bestimmen und verhindern dass kleiner 1 
if ($page - $range <= 0){ 
    $start = 1; 
    } 
else { 
   $start = $page - $range; 
} 
// höchste Seitenzahl bestimmen und verhindern dass größer $total und vehindern das leere Seite angezeigt wird 
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++) { // Start und Endwerte einsetzen. 
    if ($i != $page) { 
        echo "<a href=\"$PHP_SELF?page=$i\">$i</a>"; 
    } 
    else { 
        echo "<span class=\"navizahl\">$i</span>"; 
    } 
   print " "; 
}  
if ($page < intval($total/$max)){  
echo "<a href=\"$PHP_SELF?page=".($page+1)."\">>>></a>"; 
} 
 if ( $page < ($total/$max) - $range) { 
    if($total%$max > 0){ 
        $ende = intval($total/$max) +1; 
        echo "<a href=\"$PHP_SELF?page=$ende\">$ende</a>"; 
    } 
    else{ 
        $ende = intval($total/$max); 
        echo "<a href=\"$PHP_SELF?page=$ende\">$ende</a>"; 
    } 
} 
?>
 
Zuletzt bearbeitet:
Danke Dr Dau

Es lag an der Einstellung register_global=OFF. Nun, wo sie auf ON ist, funktioniert es.

Vielen Dank

Gunnar
 
Dass war aber nicht der sinnvollere Weg.
Denn register_globals=ON stellt ein Sicherheitsrisiko dar.
Nicht ohne Grund habe ich dir den Codefetzen gepostet.

Du solltest also nicht deine Servereinstellungen runterschrauben, sondern dein Script an heutige Techniken anpassen.
Zumal, was machst Du wenn dein Hoster Morgen register_globals=OFF einstellt?
Dann stehst Du wieder vor dem gleichem Problem.
Die superglobalen Variablen funktionieren bei beiden Einstellungen.
 
Zurück