anpera.net https://anpera.homeip.net/phpbb3/ |
|
Fehlermeldung bei neuem Tag https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=5597 |
Seite 1 von 1 |
Autor: | Arwen Anouk [ Do 21 Okt, 2021 20:22 ] |
Betreff des Beitrags: | Fehlermeldung bei neuem Tag |
Huhu zusammen, hatte schon gegooglet und hier in der Scuhe geschaut, konnte nichts finden was mir weiterhilft, vielleicht auch schon zu spät, zu müde oder einfach viel Bäume und Wald Strict Standards: Only variables should be passed by reference in /www/htdocs/w01c469a/logd/setnewday.php on line 157 Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w01c469a/logd/setnewday.php:157) in /www/htdocs/w01c469a/logd/common.php on line 65 Hat jemand eine Idee dazu wie ich das beheben kann? Soll ich dazu die Zeilen hier posten der setnewday und common +/- 10 Zeilen? |
Autor: | Shaddar [ Fr 22 Okt, 2021 18:43 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Im Standard sieht Zeile 157 in der setnewday.php wie folgt aus: $this->bbcode_second_pass_code('', 'list($key,$val)=each(db_fetch_assoc($result));') Das each() erwartet hier eine Variable und keinen Rückgabewert einer anderen Methode. Da diese aber in PHP 8 ohnehin entfernt wurden, würde ich mich gar nicht mehr darauf verlassen. Hab das jetzt nicht getestet, da das bei uns schon lange nicht mehr in dieser Form läuft, aber es sollte funktionieren wenn du den Codeblock zur Optimierung (Zeilen 154 - 159) hiermit ersetzt: $this->bbcode_second_pass_code('', 'savesetting("lastdboptimize", date("Y-m-d H:i:s")); $result = db_query("SHOW TABLES"); while ($row = db_fetch_assoc($results)) { foreach ($row as $key => $value) { db_query("OPTIMIZE TABLE ".$value); } }') Das andere sieht nach Schwierigkeiten mit dem Setzen des Headers zwecks Seitenkomprimierung aus. Wenn die Meldung nur im Zusammenhang mit dem ersten Fehler auftaucht handelt es sich um einen Folgefehler da PHP ja bereits den Fehler ausgegeben hat und danach keine header() mehr gesetzt werden können. |
Autor: | Arwen Anouk [ Fr 22 Okt, 2021 22:51 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Danke für die Antwort Da ist bei mir wohl ganz gehörig was schief gelaufen. Ich habe die bearbeitet und mit eingefügten neuen Zeilen komme ich gerade auf 159 Zeilen. Die von Dir erwähnte Zeile kann ich nicht finden. Weder in meiner aktuellen setnewday.php, noch in einer orginalen... Ich habe auch nach teilstücken des Codes gesucht. Da konnte ich auch nichts finden. [PHP] <?php // 11092004 /*setweather.php An element of the global weather mod Version 0.5 Written by Talisman Latest version available at http://dragonprime.cawsquad.net translation: anpera */ if ((int)getsetting("expirecontent",180)>0){ $sql = "DELETE FROM commentary WHERE postdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'"; db_query($sql); $sql = "DELETE FROM news WHERE newsdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'"; db_query($sql); } $sql = "DELETE FROM mail WHERE sent<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("oldmail",14)."days"))."'"; db_query($sql); switch(e_rand(1,9)){ case 1: $clouds="Wechselhaft und kühl, mit sonnigen Abschnitten"; break; case 2: $clouds="Warm und sonnig"; break; case 3: $clouds="Regnerisch"; break; case 4: $clouds="Neblig"; break; case 5: $clouds="Kalt bei klarem Himmel"; break; case 6: $clouds="Heiß und sonnig"; break; case 7: $clouds="Starker Wind mit vereinzelten Regenschauern"; break; case 8: $clouds="Gewittersturm"; break; case 9: $clouds="Schneeregen"; break; } savesetting("weather",$clouds); // Vendor in town? if (e_rand(1,3)==1){ savesetting("vendor","1"); $sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('`qDer Wanderhändler ist heute im Dorf!`0',NOW(),0)"; db_query($sql) or die(db_error($link)); }else{ savesetting("vendor","0"); } // Other hidden paths $spec="Keines"; $what=e_rand(1,3); if ($what==1) $spec="Waldsee"; if ($what==3) $spec="Orkburg"; savesetting("dailyspecial","$spec"); // Gamedate-Mod by Chaosmaker if (getsetting('activategamedate',0)==1) { $date = getsetting('gamedate','0000-01-01'); $date = explode('-',$date); $date[2]++; switch ($date[2]) { case 32: $date[2] = 1; $date[1]++; break; case 31: if (in_array($date[1], array(4,6,9,11))) { $date[2] = 1; $date[1]++; } break; case 30: if ($date[1]==2) { $date[2] = 1; $date[1]++; } break; case 29: if ($date[1]==2 && ($date[0]%4!=0 || ($date[0]%100==0 && $date[0]%400!=0))) { $date[2] = 1; $date[1]++; } } if ($date[1]==13) { $date[1] = 1; $date[0]++; } $date = sprintf('%04d-%02d-%02d',$date[0],$date[1],$date[2]); savesetting('gamedate',$date); } // this now includes the database cleanup from index.php $old = getsetting("expireoldacct",45)-5; $new = getsetting("expirenewacct",10); $trash = getsetting("expiretrashacct",1); $sql = "SELECT acctid,emailaddress FROM accounts WHERE 1=0 " .($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"") ." AND emailaddress!='' AND sentnotice=0"; $result = db_query($sql); for ($i=0;$i<db_num_rows($result);$i++){ $row = db_fetch_assoc($result); // can't send mail on anpera.net mail($row[emailaddress],"LoGD Charakter verfällt", " Einer oder mehrere deiner Charaktere von Legend of the Green Dragon auf ".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']." verfällt demnächst und wird gelöscht. Wenn du den Charakter retten willst, solltest du dich bald möglichst mal damit einloggen! Falls der Charakter ein Haus hatte, ist dieses bereits enteignet.", "From: ".getsetting("gameadminemail","postmaster@localhost.com") ); $sql = "UPDATE accounts SET sentnotice=1,house=0,housekey=0,marriedto=0 WHERE acctid='$row[acctid]'"; if ((int)$row[acctid]==(int)getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0)); db_query($sql); $sql = "UPDATE houses SET owner=0,status=3 WHERE owner=$row[acctid] AND status=1"; db_query($sql); $sql = "UPDATE houses SET owner=0,status=4 WHERE owner=$row[acctid] AND status=0"; db_query($sql); $sql = "UPDATE items SET owner=0 WHERE owner=$row[acctid]"; db_query($sql); $sql = "DELETE FROM pvp WHERE acctid2=$row[acctid] OR acctid1=$row[acctid]"; db_query($sql) or die(db_error(LINK)); $sql = "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto=$row[acctid]"; db_query($sql); } $old+=5; $sql = "DELETE FROM accounts WHERE superuser<=1 AND (1=0\n" .($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"") .($new>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$new days"))."\" AND level=1 AND dragonkills=0)\n":"") .($trash>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-".($trash+1)." days"))."\" AND level=1 AND experience < 10 AND dragonkills=0)\n":"") .")"; //echo "<pre>".HTMLEntities($sql)."</pre>"; db_query($sql) or die(db_error(LINK)); // end cleanup savesetting("lastdboptimize",date("Y-m-d H:i:s")); $result = db_query("SHOW TABLES"); for ($i=0;$i<db_num_rows($result);$i++){ list($key,$val)=each(db_fetch_assoc($result)); db_query("OPTIMIZE TABLE $val"); } ?>[/PHP] |
Autor: | Shaddar [ Sa 23 Okt, 2021 13:14 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Nun die viert-letzte Zeile aus deinem Auszug entspricht doch genau dem each() was ich gemeint habe. Und es wäre natürlich bedeutend einfacher, wenn deine Source zugänglich wäre. Der Link in deinem Profil fördert nur PHP Fehler zutage. |
Autor: | Arwen Anouk [ Mo 25 Okt, 2021 14:02 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Ich habe meine Source nicht abgestellt. Also nicht wissentlich. Wie mache ich sie denn zugänglich? War wohl nicht mein Tag neulich dass ich das nicht gefunden hab Ich schsue nochmal. Dankeschön für die Geduld |
Autor: | Arwen Anouk [ Mo 25 Okt, 2021 14:07 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
jetzt ist auch der richtige Link in meinem Profil |
Autor: | Arwen Anouk [ Do 28 Okt, 2021 06:23 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Kleiner Nachtrag: Bekomme jetzt Ab und an immernoch eine fehlermeldung: Fatal error: Using $this when not in object context in /www/htdocs/w01c469a/logd/setnewday.php on line 154 Zeilen 150 - 161: $this->bbcode_second_pass_code('', '//echo "<pre>".HTMLEntities($sql)."</pre>"; db_query($sql) or die(db_error(LINK)); // end cleanup $this->bbcode_second_pass_code('', 'savesetting("lastdboptimize", date("Y-m-d H:i:s")); $result = db_query("SHOW TABLES"); while ($row = db_fetch_assoc($results)) { foreach ($row as $key => $value) { db_query("OPTIMIZE TABLE ".$value); } }') ?>') |
Autor: | Shaddar [ Do 28 Okt, 2021 19:48 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Dir ist vielleicht schon aufgefallen, dass der BB-Code hier im Forum zur Formatierung von Codeblöcken leider nicht richtig funktioniert... du hast die Ausgabe des Forums nun 1:1 eingefügt, was natürlich nicht funktioniert, daher hier nochmal der Teil ohne die Formatierung: savesetting("lastdboptimize", date("Y-m-d H:i:s")); $result = db_query("SHOW TABLES"); while ($row = db_fetch_assoc($result)) { foreach ($row as $key => $value) { db_query("OPTIMIZE TABLE ".$value); } } Und ja, Source geht schonmal ^^ |
Autor: | Arwen Anouk [ Sa 13 Nov, 2021 15:37 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Ich muss leider nochmal "nerven"... ich habe hin und wieder einen Fehler bei einem neuen Tag: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in /www/htdocs/w01c469a/logd/dbwrapper.php on line 81 Zeilen 77 - 84: function db_fetch_assoc($result){ global $dbtimethishit; $dbtimethishit -= getmicrotime(); $fname = DBTYPE."_fetch_assoc"; $r = $fname($result); $dbtimethishit += getmicrotime(); return $r; } Hat da noch jemand eine Lösung, wie ich die Fehlermeldung abstellen kann? |
Autor: | Shaddar [ Mo 15 Nov, 2021 22:21 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Da hatte sich bei mir ein "s" zuviel eingeschlichen. Ersetze in Zitat: while ($row = db_fetch_assoc($results)) { das $results einfach durch $result. Habe meinen Beitrag oben bereits editiert. |
Autor: | Arwen Anouk [ Di 16 Nov, 2021 08:17 ] |
Betreff des Beitrags: | Re: Fehlermeldung bei neuem Tag |
Vielen Lieben Dank Jetzt läuft wieder fehlerfrei *freu* |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |