Bonustipps Hinweis in toastmassage - Anzeige falsch

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!

  • Habe noch eine Kleinigkeit mit meiner Installation - Version 4.1.2 PHP7 festgestellt.


    Ich habe die korrekte Anzahl an Bonustipps (im toastmassage), bis ein User diese für sich "tippt".
    Mit jedem Tipp den der User abgibt verringert sich die Anzahl der noch von mir erforderlichen Tipps.


    Sobald ein Mitspieler (kein Admin und ich auch NICHT als Admin angemeldet) seine Tipps abgegeben hat, ich keine Info mehr habe obwohl von mir kein einziger Tipp abgegeben wurde. amazed-squared


    Wenn das nur für die Bonustipps wäre könnte ich zur Not damit leben, kann ich irgendwo eine Einstellung testen die mir den Hinweis auf normale BuLi Tipps schon jetzt anzeigt und das Tippen mit mehreren Useren zu testen?

    Westfalenstadion. Do bin i dahoam!
    Erfahrung ist wie Hubraum. Nur durch mehr Erfahrung bzw. mehr Hubraum zu ersetzen.

  • Bei mir habe ich das gleiche Problem. Ich bin mit dem System aber nicht auf PHP 7.
    Nach dem importieren der Bonusfragen, habe ich einmal die Erinnerung bekommen.
    Nachdem ich die Fragen als Admin abgegeben habe, bekommt gar kein User mehr die Erinnerung.
    Die Toastmessage für den Bezahlmod funktioniert aber.

  • Also für mich ist in der functions.inc.php die ganze Funktion getMissingBonustipps nicht schlüssig. Mit der PHP Version hat das nichts zu tun.


    folgende Ersetzung sollte Abhilfe schaffen:


    ersetzte

    PHP
    1. function getMissingBonustipps($user_id){ global $_SESSION, $saison, $tbl; if (isset($_SESSION['s_user'])) { if ( ! isset($user_id)) { $user_id = $_SESSION['s_user']; } $complete_tipps = ""; // Zuerst alle IDs der Antworten auf type "Spieler" feststellen. Diese werden in der nächsten Abfrage ausgeschlossen $sql = "SELECT bid, subbid FROM ". $tbl['bonus_tipps'] ." WHERE liga = '". $saison['liga'] ."'" ." AND saison = ". $saison['jahr2'] ." AND usr = ". $user_id ." AND type = 'spieler'"; $query = mysql_query($sql); while ($row = mysql_fetch_array($query)) { $complete_tipps .= "(bf.id != ". $row['bid'] ." AND bf.subid != ". $row['subbid'] .") AND "; } if ($complete_tipps != "") { $complete_tipps = " (". substr($complete_tipps, 0, -5) .")"; } // Anzahl fehlende oder unvollständige Antworten auslesen $sql = "SELECT bf.id, bf.subid, bf.type, bp.date, bt.id AS bt_id, bt.type AS bt_type FROM ". $tbl['bonus_fragen'] ." AS bf" ." LEFT JOIN ". $tbl['bonus_punkte'] ." AS bp ON bp.bid = bf.id" ." LEFT JOIN ". $tbl['bonus_tipps'] ." AS bt ON (bt.bid = bf.id AND bt.subbid = bf.subid)" ." WHERE bf.liga = '". $saison['liga'] ."'" ." AND bf.saison = ". $saison['jahr2'] ." AND (bf.type != bt.type OR bt.type IS NULL)" . ($complete_tipps != "" ? " AND ". $complete_tipps : "") ." GROUP BY bf.id, bf.subid" ." HAVING bp.date > ". time(); $query = mysql_query($sql); $count_missing_tipps = mysql_num_rows($query); if ($count_missing_tipps > 0) { return $count_missing_tipps; } else { return FALSE; } } else { return FALSE; }}

    mit




    Ein kleiner Bug besteht jedoch noch. Sobald der Bonustipp abgegeben wurde, steht immer noch die falsche Anzahl drin.
    Erst nach erneutem Seitenaufruf steht die korrekte Anzahl drin.
    Problem hier: Die Abfrage nach der fehlenden Anzahl erfolgt vor der Speicherung des Tipps. Entweder müsste die Abfrage später erfolgen oder man lebt einfach damit smile-squared



    edit: das Thema wurde hier schon mal behandelt

  • oder macht es wie ich und baut die anzeige einfach aus dieses aus der index.php rausnehmen und man hat ruhe

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden