Avatar

MLF 1.7.3: Changed to PHP 5.5 -> Special chars bug? (Technics)

by Auge ⌂, Friday, January 27, 2017, 08:26 (2608 days ago) @ wo2010

Hallo

Hast du den von mir gezeigten Code in die ini.php eingebaut?


habe ich inzwischen gemacht

Dann loggte ich mich ein. Dabei kam:

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /www/htdocs/....../login.php on line 70

Die Meldung sagt, dass die mysql_-Funktionen in zukünftigigen PHP-Versionen abgeschafft werden. Das ist mit PHP7 geschehen, was bedeutet, dass deine MLF-Version (1.7.3) mit PHP7 nicht mehr funktionieren wird.

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/....../login.php:70) in /www/htdocs/....../login.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/....../login.php:70) in /www/htdocs/....../login.php on line 110

Das sind (sogar ganz klassische) Folgefehler, die durch die erste Meldung ausgelöst werden.

Diese "bestimmte Kodierung" muss nicht durchgängig eine sein, es können auch mehrere sein, was ein fehlerhaftes Verhalten wäre. Welchen Browser benutzt du?


Firefox 45.7.0 ESR unter Win7. Bei Opera 12.17 dasselbe Bild.

Da der Fehler auf dem Webserver auftritt, sind seine Auswirkungen natürlich in allen Browsern zu sehen.

Bin mal mit phpMyAdmin von der Seite her rangegangen - da konnte ich die "vermissten" Einträge sehen. Mit Umlauten.

Gut, das ist ein Anhaltspunkt. Die Daten sind nicht kaputt, nur ihre Ausgabe bereitet die Probleme.

Deine Programmversion läuft noch mit der Kodierung ISO-8859-1 oder -15. PHP selbst interessiert das nicht, aber die Kommunikation mit dem SQL-Server oder die Auslieferung durch den Webserver an sich könnte Probleme bereiten.

- Hast du Zugang auf phpMyAdmin? Wenn ja, schaue bitte nach, ob die Forumstabellen selbst und die Textfelder eine Kollation aus dem Bereich ISO-8859-1 oder -15 haben.

- Öffne im Firefox bitte die Netzwerkanalyse (Extras=>Web-Entwickler=>Netzwerkanalyse (oder [STRG]+[Umschalt]+[Q]) und rufe das Forum bitte einmal auf. Dir werden nun alle ausgelieferten Ressourcen (HTML, CSS, JS, Bilder, etc.) aufgelistet. Klicke bitte auf die Seite selbst (forum.php, board.php oder welche Seite auch immer du aufgerufen hast). Rechts wird ein neuer Kasten mit den Metadaten der Anfrage und der ausgelieferten Antwort eingeblendet. Die Antwortkopfzeilen enthalten unter Anderem die Zeile "Content-Type", die in diesem Forum den Wert "text/html; charset=utf-8" hat. Welcher Wert wird bei dir angegeben?

Die Datenbank hat noch ein paar weitere Tabellen für andere Kleinanwendungen (die vor meiner Zeit installiert wurden - wie auch das Forum). Eine funktioniert reibungslos, auch mit Umlauten.

Aha.

Die andere nicht, da kommt (auch ohne "Deine" Ergänzung im Forumscode - ist ja auch eine ganz andere Baustelle) die Meldung:

Fatal error: Call-time pass-by-reference has been removed in /www/htdocs/....../***.php on line 336

Das halt also nichts mit dem Forum zu tun, wenn ich dich richtig verstehe.

Hilft uns das für's Forum etwas weiter?

Nein.

PS: Werden bei diesen Zeilenangaben eigentlich die Kommentarzeilen mitgezählt?

Soweit ich das überblicke, werden die Zeilen mitgezählt. Wäre ja auch doof, einen Hinweis auf einen Fehler in Zeile X zu bekommen, der wegen reichhaltiger Kommentierung des Codes hundert Zeilen weiter verursacht wird.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!


Complete thread:

 RSS Feed of thread