Umstellung auf PHP7 Tippen und Tippübersicht Rück- und Hinrundenlink

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Hallo zusammen,


    ich bin es endlich mal angegeganen mein Bulitipp auf php7 umzustellen.


    Hat eigentlich alles Bestens funktioniert, nur zwei Seiten bereiten mir Kopfzerbrechen: tippen.php und tipps.php


    Bei beiden Seiten wird mormalerweise der Link zum jeweiligen Spieltag der passende Rück- und Hinrunde in der Tabelle als '>>>' bzw. '<<<' angegeben. Nach meinem Upgrade auf php7 zeigt mir meine Installation aber nicht '>>>', sondern :(<spieltag>.) an (siehe Screenshot):

    tippen.png


    Der Code aus tippen.php und tipps.php lautet:


    Ich hab jetzt schon alles mögliche geprüft, wo hier die Ursache sein kann - aber irgendwie find ich nix - Hab jetzt sogar mal die php7-Version blank auf meinem Server geschoben und hab das gleiche Verhalten?! Ist das bei allen php7-Bulitipp-Installationen so? Kann ich mir irgendwie nicht vorstellen - Vielleicht ist es ja auch das Ding mit dem Wald und den vielen Bäumen...


    Kann mir mal bite jemand auf die Sprünge helfen? Vielen Dank.


    Gruß, hop

    Einmal editiert, zuletzt von hop ()

  • An dem Code wird es wahrscheinlich nicht liegen, eher an den Daten in der Datenbank.

    Wenn du in der Datenbank dir mal das Rückspiel zwischen Stuttgart und Schalke anschaust, welche Werte werden in den Spalten 'tore_heim' und 'tore_gast' angezeigt?

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas SPENDEN. :)


    HERTHA BSC heißt unser Verein
    HERTHA BSC wird es immer sein!

  • Hallo,


    danke für Deine Rückmledung, aber ich glaube nicht, dass es an den Daten aus der Datenbank liegt. Die Datenbank ist ja eine 1:1 Kopie von meiner php5-Installation. Bei der php5-Installation werden ja die Links zu Hin- und Rückspiel mit '<<<' bzw. '>>>' korrekt angezeigt:


    php5

    bultipp_tipps_php5.png

    php7

    bultipp_tipps_php7.png


    Ich hab jetzt sogar mal die original Datenbank in die php7 eingebunden und das Ergebniss ist gleich.


    In der Datenbank hab ich natürlich auch mal geschaut, da ist im Rückspiel jeweils NULL bei 'tore_heim' und 'tore_gast' eingetragen.


    Also mir ist das absolut rätselhaft - ich hab zum x-sten mal auch schon die php-Dateien verglichen, aber ich find einfach keinen unterschied. Komisch ist ja auch, wenn ich die original Datei aus dem php7-Installation verwende, dass der Fehler bleibt. Also muss ja wirklich irgendwas anderes Schuld sein, aber wie gesagt die Datenbank ist ja gleich und daher kann man diese ja auch ausschliessen.


    Bei eueren php7-Installationen werden die Links für Hin- und Rückrunfde korrekt mit '<<<' und '>>>' angezeigt?

  • hop

    Hat den Titel des Themas von „Umstellung auf PHP7 Tippen und Tippübersicht Rück- und Hinrrundenlink“ zu „Umstellung auf PHP7 Tippen und Tippübersicht Rück- und Hinrundenlink“ geändert.
  • Das ist mir schon klar und es steht ja sogar das Ergebniss mit dabei, falls diese schon eingetragen sind.


    Unter php5 war das halt nicht und ich erkenne nicht wieso das jetzt so unter php7 ist.

    Ich finde die >>> als Link schöner, besonders wenn noch keine Ergebnisse eingetragen ist, aber das ist wohl geschmackssache.


    Wenn das bei allen php7-Versionen so ist, dann nehm ich das so hin. Dann können wir diesen Thread hier schliessen.


    Danke.

  • hop , mit deinem Eintrag hier, ist mir das auch erst aufgefallen! Muss zugeben, ist natürlich Geschmackssache, unter php5 hatte mir das auch besser gefallen!


    Hab mir mal den php-code angeschaut und festgestellt, dass die zwei if / else Schleifen mit dem output-Befehl "<<<" und ">>>" als Link-Platzhalter nicht mehr ausgeführt/ausgegeben werden, sondern nur der direkte Link zum Spieltag direkt darunter....


    Mit den php-Versions-Updates werden immer wieder einige Befehle "deprecated". Zum 30.11.20 ist ja schon wieder php7.2.x veraltet!


    Ja, man kann es ändern und wieder die alte gewohnte Ansicht herstellen! Es ist ein Lösungsvorschlag von mir und es sollte nicht andere Funktionen im Tippspiel beeinflussen, da meine kleine Änderung nur eine Abfrage in der Darstellung beeinflusst!


    Suche bitte in den Dateien - tipps.php, tippen.php und spielplan.php nach der Zeichenkette "<<<" und einige Zeilen darüber findest folgende if-Schleife:

    Code
    1. if (!isset($hinrunde['tore_heim']) || !isset($hinrunde['tore_gast']))

    ändere dort mal das in folgenden Code, quasi, entferne einfach das "!" vor dem isset-Befehl.

    Code
    1. if (isset($hinrunde['tore_heim']) || isset($hinrunde['tore_gast']))


    Bitte mal testen! Zu sehen hier beim Spielplan als nicht reg. Tipper bei mir hier:

  • Supi, hatte mir ne'n Wolf gesucht und nix an Lösung gefunden.

    Nicht wegen mir, ich konnte mit der Darstellung leben, eher wegen HOP, ich kenne das wenn ich mit einer Optik der Website hadere.

    Die php Versions-Änderungen hatte ich auch im Visier und habe den Code mal in einer PHP-Code Syntaxprüfung online getestet. Ergebniss in php-7.0.30, php-7.1.17, php-7.2.25, php-7.3.12 und php-7.4.0: No syntax errors detected in CODE

    Bin auch nicht der php Freak, aber wie hast du dies rausgefunden? Rein Neugierdehalber.

  • Super! Funktioniert einwandfrei und auf diese Änderung wäre ich nicht gekommen - das man einfach durch drehen der Abfrage das korrekte Ergebniss bekommt, was ja unter PHP5 noch ging... Anyway!


    Vielen Dank an Kaikiste für die Lösung! :thumbup:


    Danke auch an Karlnapp75, dass Du Dich damit beschäftigt hast - aber vermutlich sind wir an den selben Suchergebnissen verzweifelt ;)


    Letztendlich hätte ich auch was mein Tippspiel angeht, damit leben können, aber gewurmt hat mich es schon, dass ich die Ursache nicht finden konnte.Daher würde mich auch interessieren wie man so einen Fehler entdeckt...

  • Bin auch nicht der php Freak, aber wie hast du dies rausgefunden? Rein Neugierdehalber.

    Aber gerne, ist kein Geheimnis....


    Bin auch kein php-Freak, eher ein "Try and Error"-Experte ^^


    Nachdem ich mir den Code angeschaut hatte, und ich dort eine verschachtelte if-else Schleife entdeckte - die äussere gibt den Link zum Rück- bzw. Hinrundenspieltag aus, OK

    Und die innere mit output quasi den Linknamen mit <<< bzw. >>>., die wird irgendwie nicht ausgeführt. Zunächst nahm ich an, dass vllt. die Zeichen <<< bzw. >>> in php7.x fälschlicherweise für Operatoren gehalten werden, da vorher keine Definition stattfindet. Ich hab diese Zeichen mal mit mit HIN und RÜCK ersetzt, auch keine Ausgabe, OK, dann bin ich zum Beginn der äusseren Schleife gegangen und hatte mal den Befehl !isset gegoogelt, Irgendwie keine Einträge gefunden, sondern nur zu isset (ohne Ausrufezeichen). Bei den Ausführungen z.B. bei der Webseite W3Schools hatte ich nur Bahnhof verstanden, als kam in mir der Try and Error Experte zum Vorschein. Ich hatte dann einfach mal die ! entfernt, und siehe da, es funktionierte... Die Lösung warum, weshalb, wird nur ein php-Freak beantworten können.....

  • Zunächst nahm ich an, dass vllt. die Zeichen <<< bzw. >>> in php7.x fälschlicherweise für Operatoren gehalten werden, da vorher keine Definition stattfindet. Ich hab diese Zeichen mal mit mit HIN und RÜCK ersetzt, auch keine Ausgabe

    Dass hab ich exakt genau so gemacht. Da ohne Erfolg hatte ich dann mit "define" zwar die <<< bzw. >>> hinbekommen, aber die exakte Verlinkung zum jeweiligen Spieltag nicht. Eben ein php Dau.

    Übrigens mit php-Freak möchte ich keinesfalls beleidigend denen gegenüber sein die das beherrschen, im Gegenteil, Chapeau !

  • werden diese Fixes eigentlich auch in der Version die zum Download steht gemacht ?

    hierbei handelte es sich nur um einen Try and Error - Test, es ist kein Fix! Im Programmcode des Tippspiels kommt leider der "!isset" Befehl noch desöfteren vor, und ich bin mir nicht wirklich sicher, ob das die Ursache ist/war!