anpera.net
http://anpera.homeip.net/phpbb3/

3 Fehlermeldungen nach Login - frisch installiertes 0.9.7
http://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=5577
Seite 1 von 1

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 04:27 ]
Betreff des Beitrags:  3 Fehlermeldungen nach Login - frisch installiertes 0.9.7

Hallo zusammen,

einiges hab ich schon gefunden um zumindest Startseitentechnisch diese Version ans Laufen zu bekommen, nach dem Login bekomme ich 3 Fehlermeldungen:

Warning: Illegal string offset 'name' in /www/htdocs/w009ae80/Hexenkessel/logd/login.php on line 4

Warning: Illegal string offset 'op' in /www/htdocs/w009ae80/Hexenkessel/logd/login.php on line 136

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w009ae80/Hexenkessel/logd/login.php:4) in /www/htdocs/w009ae80/Hexenkessel/logd/common.php on line 955
index.phpRedirected to index.php from login.php.

Trotz SuFu konnte ich nicht das passende finden was weiterhilft. Ich hoffe ihr habt einen Tip
Die Adresse ist:
http://www.zumhexenkessel.de/logd

Danke schonmal

Autor:  Shaddar [ Sa 02 Sep, 2017 08:08 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Moin,

es wäre sehr hilfreich zu erfahren, welche PHP Version bei dir auf dem Webserver seinen Dienst verrichtet.
Unabhängig davon, solltest du jedoch noch einige Anpassungen machen.

Suche [in ALLEN Dateien] und ersetze:
$HTTP_SERVER_VARS mit $_SERVER
$HTTP_GET_VARS mit $_GET
$HTTP_POST_VARS mit $_POST
$HTTP_COOKIE_VARS mit $_COOKIE

Deine Fehlermeldungen klingen für mich nach:
https://stackoverflow.com/questions/9869150/illegal-string-offset-warning-php

Was heißt das nun konkret ?
LoGD hat sich früher nicht um die korrekte Angabe von Arrayschlüsseln gekümmert, weshalb PHP früher nach einer Konstante gesucht hat, die den Namen des verwendeten Schlüssels trägt um deren Wert als Schlüssel zu verwenden und erst dann, wenn es keine passende gefunden hatte dazu überging den übergebenen Namen auch tatsächlich als Schlüssel zu verwenden. Du solltest daher dazu übergehen die Schlüssel ganz klar als Strings zu definieren, was sie ja letzten Endes sind. Sorry wenn das nu verwirrend klingt, aber es ist noch früh am Morgen ... Ich weiß nicht ob PHP das Verhalten in neueren Versionen angepasst hat, konkret bedeutet das folgendes:

Beispiel an deiner login.php
Code:
if ($HTTP_POST_VARS[name]!=""){
    if ($session[loggedin]){
[...]
}else if ($HTTP_GET_VARS[op]=="logout"){
   if ($session[user][loggedin]){


Sollte am Ende zu:
Code:
if ($_GET['name']!=""){
    if ($session['loggedin']){
[...]
}else if ($_GET['op']=="logout"){
   if ($session['user']['loggedin']){

werden.

Auffällig ist auch, dass sowohl das veraltete $HTTP_GET_VARS wie auch das neuere $_GET gleichzeitig zum Einsatz kommen, dass kann auch zu ziemlichen Problemen führen, denn laut Dokumentation handelt es sich dabei NICHT um die gleiche Variable.

Achja, was mir so aus dem Stegreif noch einfällt: In der lodge.php wäre $this durch $key oder einen anderen Variablennamen zu ersetzen. Das Ersetzen des Parameters in der date() Funktion hast du ja, soweit ich gesehen habe, schon vorgenommen.

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 09:18 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Vielen Dank - da hab ich ja zu tun :D
Es ist php 7 wenn ich mich nicht ganz täusche...
Wenn ich diese änderungen nun vornehme:

"$HTTP_SERVER_VARS mit $_SERVERersetzen"

dann läuft es? Hab ich das richtig verstanden?

Ich bin schon seit ein paar Tagen auf der Suche nach Lösungen und bin natürlich auch auf den ein oder andern Post bzgl php Uptates gestossen. Hab sicher noch nicht alles gemacht, aber einiges schon. Und arbeite weiter dran in der Hoffnung diese Version wieder ans Laufen zu bekommen. Aber woanders läuft sie ja auch noch - muss also möglich sein :)

Autor:  Tidus [ Sa 02 Sep, 2017 11:07 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Hallo,

natürlich ist es möglich aber es sind schon sehr sehr viele sachen ;) manche sind auch server abhängig :)

Du solltest auf jedenfall das komplette Changeslog hier bei anpera abarbeiten, dann alle Änderungen die du zu PHP 5.5/5.6 finden kannst. Da wären dann auch die Sachen dabei die oben genannt wurden mit den $_ Variablen.

Shaddar hat schon recht, dass man normalerweise alle ['user'] und sowas mit Single Quotes versehen sollte, aber man kann auch einfach die Warnung abschalten, wenn man das Error reporting anpasst denn sonst bist du alleine damit, wirklich lange beschäftigt.

Ich habe es früher so gemacht: wann immer ich an welchen vorbei kam wo es gefehlt hat, habe ich es hinzugefügt - also immer mal wieder ein paar eingefügt wenn ich grad an der Stelle / Datei was geändert habe :)

Allerdings habe ich es selbst noch nicht auf PHP 7 installiert, daher kann ich dir nicht sagen, was da evtl. noch für Probleme auftauchen die ich noch nicht lösen musste ;)

Grüße

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 11:10 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Also theoretisch kann ich mich einloggen - aber nu spinnt die session geschichte *seuftz* Sobald ich auf einloggen klicke kommt: Deine Sessionzeit ist abgelaufen. Bitte neu einloggen.
Hab ich hier auch schon nach gesucht - aber komme nicht weiter - da hänge ich nu auch schon ne Weile dran.
Ich mach das auch immer nach und nach wenn es irgendwo hapert das ich da dann dran arbeite, aber grundsätzlich muss ich ja erstmal reinkommen :D

Autor:  Tidus [ Sa 02 Sep, 2017 11:27 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Hallo,

vermutlich hast du die änderungen bezüglich Sessions mit Name und session start usw. nicht gemacht ;)

Das wäre eigentlich auch irgendwo in den änderungen zu php 5.5 zu finden, du solltest wirklich erstmal nochmal alles überprüfen vom changeslog und den php änderungen sonst wirds immer wieder rätselraten was du schon gemacht hast und was nicht.. oder du wendest dich einfach an jemanden, der eine lauffähige 0.9.7 hat :P

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 11:46 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Hm, meinst du in der common.php?
Code:
...
session_name("session");
session_set_cookie_params(0, dirname($_SERVER['PHP_SELF']), $_SERVER['HTTP_HOST']);
session_start();
$_SESSION["session"] = array();
function register_global(&$var){
    @reset($var);
    while (list($key,$val)=@each($var)){
        global $$key;
        $$key = $val;
...

Autor:  Tidus [ Sa 02 Sep, 2017 11:53 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Ich hab grad mal dein logd angeschaut (hab vorher immer nur den link angeklickt im profil der nicht ging ^^"), scheint als hättest du noch viel mehr probleme z. B. mit den Umaluten, der Kodierung usw...
Evtl. könnte dass dann damit zusammen hängen, aber im prinzip ja, diese änderungen meinte ich, allerdings solltest du deine Session nicht unbedingt "session" nennen sondern besser "hexenkessel" ;)

EDIT: apropo wieso machst du das: $_SESSION["session"] = array(); ... das leert ja die Session, das könnte also das problem sein, wieso du ausgeloggt wirst, ich habe diese passage dort nicht.

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 12:06 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Huhu, hm - die hab ich mein ich hier irgendwo gefunden...
Ich nehm sie mal raus...

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 12:09 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Vielleicht hatte ich es auch aus einem "scheinbar" funktionierenden Lotgd aus der Source *schäm*

Autor:  Arwen Anouk [ Sa 02 Sep, 2017 12:14 ]
Betreff des Beitrags:  Re: 3 Fehlermeldungen nach Login - frisch installiertes 0.9

Tidus hat geschrieben:

EDIT: apropo wieso machst du das: $_SESSION["session"] = array(); ... das leert ja die Session, das könnte also das problem sein, wieso du ausgeloggt wirst, ich habe diese passage dort nicht.


Das war übrigens tatsächlich der Übeltäter :D Danke :) Manchmal schnallt man gar nix mehr :D

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/