Webseitenzähler zeigt Fehler

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Webseitenzähler zeigt Fehler

Beitrag von Icke »

Hallo,

bin bei der Umstellung auf die Neue PHP Version auf Fehler gestossen. ?9

Notice: Undefined variable: page in /lexikon/index.php on line 11
Notice: Undefined variable: lines in /lexikon/index.php on line 13
Notice: Undefined offset: 0 in /lexikon/index.php on line 24

Hier mal das Script:

Code: Alles auswählen

// Seitenzähler
    $count = 0;
    $page = (int)$page;
    if ($page==0)  $page=1;
    $lines = (int)$lines;
    if ($lines==0)  $lines=25; // Zeilen pro Ausgabe
    $left_limit = ($page-1)*$lines;
    $sql = "SELECT COUNT(*) FROM lexikon WHERE wort LIKE '%$wort%' AND sus=1";
    	$result = mysqli_query($db, $sql))
	if ($sql) {  
		$hash = mysqli_fetch_assoc($result);
	  
      $total = (int)$hash[0];
    } else   $total = 0;
    $pages = (int)($total/$lines);
    if (($total % $lines)>0)
		++$pages;
Kann mir jemand dazu helfen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Webseitenzähler zeigt Fehler

Beitrag von oxpus »

Wenn das Script alles ist, fehlt klar die Initialisierung der beiden genannten Variablen.
Zumindest diese Zeile sollte an den Anfang:
$page = $lines = 0;
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Webseitenzähler zeigt Fehler

Beitrag von Icke »

Morgen Oxpus,

Ich habe die Zeile reingesetzt, jetzt ist nur noch eine Notice

Code: Alles auswählen

Notice: Undefined offset: 0 in /htdocs/lexikon/index.php on line 22 
-> $total = (int)$hash[0];


Den Fehler kenn ich noch garnicht.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Webseitenzähler zeigt Fehler

Beitrag von oxpus »

Wenn mich nicht alles täuscht, wird in Index 0 nichts eingetragen aus der Datenbankabfrage.
Daher wäre es besser die Abfrage etwas anzupassen:

Code: Alles auswählen

$sql = "SELECT COUNT(*) FROM lexikon WHERE wort LIKE '%$wort%' AND sus=1";
    	$result = mysqli_query($db, $sql))
	if ($sql) {  
		$hash = mysqli_fetch_assoc($result);
	  
      $total = (int)$hash[0];
ändern in

Code: Alles auswählen

$sql = "SELECT COUNT(*) as total FROM lexikon WHERE wort LIKE '%$wort%' AND sus=1";
    	$result = mysqli_query($db, $sql))
	if ($sql) {  
		$hash = mysqli_fetch_assoc($result);
	  
      $total = (int)$hash['total'];
Das ist besser, insbesondere wenn man doch mal die Abfrage erweitern möchte.

Alternativ könnte man auch die Zeilen durch die Datenbank abrufen lassen.
Das wäre dann dieser Code:

Code: Alles auswählen

$sql = "SELECT * FROM lexikon WHERE wort LIKE '%$wort%' AND sus=1";
    	$result = mysqli_query($db, $sql))
	if ($sql) {  
		$total = mysqli_num_rows($result)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten