anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: So 15 Jun, 2025 20:39

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr 02 Mär, 2007 16:12 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Hallo,

seit gestern haben wir ein Problem in der newday.php. Allerdings haben wir an der Datei nichts geändert.

Fehlermeldung:
$this->bbcode_second_pass_code('', '
Fatal error: Only variables can be passed by reference in /www/htdocs/w0079527/newday.php on line 2025')

Und line 2025 sieht so aus:
$this->bbcode_second_pass_code('', 'reset($config['forestfights']);')

Ich vermute zwar, dass der Fehler irgendwo in der common.php liegt, aber ich wüsste einfach nicht wo^^ Und die common.php funktioniert ganz normal/fehlerfrei.

Source ist verlinkt.

Danke für Hilfe im vorraus! :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 13 Mär, 2007 17:38 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 14 Feb, 2007 14:12
Beiträge: 57
poste doch mal deine newday datei villeicht ist da vor ja nen fehler(vor line 2025)^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 13 Mär, 2007 17:49 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Ist doch im Source. Aber für die faulen: newday.php
(Die Zeile mit dem Fehler hat sich um ~10 Zeilen verschoben.

Vorrübergehend habe ich den Fehler behoben, indem ich diesen Codeblock auskommentiert hab:

[php] // FEHLER!!!!!!! (Die Frage ist wieso...) :(
// für Anpera.net wieder auskommentiert /*
reset($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
$config['forestfights'][$key]['left']--;
output("`@Du bekommst eine Extrarunde für die Punkte auf `^{$val['bought']}`@.");
$session['user']['turns']++;
if ($val['left']>1){
output(" Du hast `^".($val['left']-1)."`@ Tage von diesem Kauf übrig.`n");
}else{
unset($config['forestfights'][$key]);
output(" Dieser Kauf ist damit abgelaufen.`n");
}
}
// für Anpera.net wieder auskommentiert */[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 10:22 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
habt ihr an der lodge.php was geändert?

weil dort kauft mann sich die forestfights

das hier ist der part aus der logde.php der sich um die forestfights dreht

[php]}elseif ($_GET['op']=="forestfights"){
if (!is_array($config['forestfights'])) $config['forestfights']=array();
output("1 Extra Waldkampf pro Tag für 30 Tage kostet 100 Punkte. Du bekommst einen extra Waldkampf an jedem Tag, an dem du spielst.`n");
if($pointsavailable<100){
output("`n`n`\$Du hast nicht genug Punkte!`0");
} else {
addnav("Bestätige Extra Waldkämpfe");
addnav("JA","lodge.php?op=fightbuy");
}
addnav("Zurück zur Jägerhütte","lodge.php");
reset($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
//output("Du hast noch {$val['left']} Tage, an denen zu einen zusätzlichen Waldkampf für deine am {$val['bought]} bekommst.`n");
output("Du hast noch {$val['left']} Tage, an denen zu einen zusätzlichen Waldkampf für deine am {$val['bought']} bekommst.`n");
}
}elseif ($_GET['op']=="fightbuy"){
if (count($config['forestfights'])>=5){
output("Du Kannst maximal 5 extra Waldkämpfe haben pro Tag.`n");
}else{
if ($pointsavailable>0){
array_push($config['forestfights'],array("left"=>30,"bought"=>date("M d")));
output("Du wirst in den nächsten 30 Tagen, an denen du spielst, einen extra Waldkampf haben.");
$session['user']['donationspent']+=100;
}else{
output("Extra Waldkämpfe zu kaufen kostet 100 Punkte, aber du hast nicht so viele.");
}
}
addnav("Zurück zur Jägerhütte","lodge.php");[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 16:48 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Machen wir ne Krücke...

[php]// FEHLER!!!!!!! (Die Frage ist wieso...) Sad
if(!empty($config['forestfights']) AND is_array($config['forestfights']))
reset($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
$config['forestfights'][$key]['left']--;
output("`@Du bekommst eine Extrarunde für die Punkte auf `^{$val['bought']}`@.");
$session['user']['turns']++;
if ($val['left']>1){
output(" Du hast `^".($val['left']-1)."`@ Tage von diesem Kauf übrig.`n");
}else{
unset($config['forestfights'][$key]);
output(" Dieser Kauf ist damit abgelaufen.`n");
}
}
[/php]

... Obwohl. Die Frage ist wohl berechtigt: Was bitte habt ihr gedreht? O.o 5 Zeilen vorher wird ja bereits der Fall berücksichtigt, falls das array keines sein sollte. Aber irgendwie gehts nicht O.o


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 18:04 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Erstmal danke für die Hilfe, Eliwood und azraeldemon!

@azraeldemon
Der Abschnitt ist in meiner lodge.php genauso, hab ihn trotzdem mal mit dem ersetzt, was du gepostet hast. Ist leider auch keine Lösung...

@Eliwood
Ich hab den Code mal eingebaut, aber immer noch der gleiche Fehler:
$this->bbcode_second_pass_code('', 'Fatal error: Only variables can be passed by reference in /www/htdocs/w0079527/newday.php on line 2038')

Line 2038:[php]while (list($key,$val)=each($config['forestfights'])){[/php]

:/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 19:14 
Offline
Eingeweihter
Eingeweihter

Registriert: Fr 08 Jul, 2005 08:46
Beiträge: 69
öffne newday.php
suche [php]
reset($config['forestfights']);
[/php]

füge davor ein
[php]
$config = unserialize($session['user']['donationconfig']);
if (!is_array($config['forestfights'])) $config['forestfights']=array();[/php]

dann müsste es eigentlich wieder funktzen

Gruß Seto :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 19:20 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
@Seto: Der Codeteil den du grade gepostet hast ist schon im Standart enthalten ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 19:21 
Offline
Eingeweihter
Eingeweihter

Registriert: Fr 08 Jul, 2005 08:46
Beiträge: 69
iw aber wenn ich mich da grad nicht verlesen habe fehlt das bei real.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 19:25 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
In der Datei selbst fehlt es nicht sonst wäre der Fehler ja wohl logisch aber hier in dem Teil den er gepostet hat ist es nur nicht vorhanden


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 20:39 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
ReaL hat geschrieben:
@Eliwood
Ich hab den Code mal eingebaut, aber immer noch der gleiche Fehler:
$this->bbcode_second_pass_code('', 'Fatal error: Only variables can be passed by reference in /www/htdocs/w0079527/newday.php on line 2038')

Line 2038:[php]while (list($key,$val)=each($config['forestfights'])){[/php]

:/


Okay. Zeit fürn' bissel Debugging, am besten testest das selbst mit nem Admincharakter:

[php]if($session['user']['superuser']) var_dump($config['forestfights']);[/php]

Gib mir dann die Ausgabe. Achja: Solltest du compress_out anhaben (Funktion page_footer()), bitte die Stelle Kommentieren (echo compress_put($output)), dafür die Stelle "echo $output" entkommentieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 21:08 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Auch allen andere danke für die Hilfe!

@Eliwood:
Die Ausgabe ist einfach:
$this->bbcode_second_pass_code('', 'NULL')
Ich hoffe das hilft, ich weiß nämlich nicht wirklich was damit anzufangen^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 21:54 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
ReaL hat geschrieben:
Auch allen andere danke für die Hilfe!

@Eliwood:
Die Ausgabe ist einfach:
$this->bbcode_second_pass_code('', 'NULL')
Ich hoffe das hilft, ich weiß nämlich nicht wirklich was damit anzufangen^^


Oh. Ich hätte vielleicht erwähnen sollten dass ich das gerne vor dem hier stehen habe:

[php]while (list($key,$val)=each($config['forestfights'])){ [/php]
^^"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 22:00 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Okay, dann kommt das hier:
$this->bbcode_second_pass_code('', 'string(1) "A"')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 14 Mär, 2007 22:16 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
ReaL hat geschrieben:
Okay, dann kommt das hier:
$this->bbcode_second_pass_code('', 'string(1) "A"')


Jetzt ersetzt du mal:
[php]$config = unserialize($session['user']['donationconfig']);
if (!is_array($config['forestfights'])) $config['forestfights']=array();

// FEHLER!!!!!!! (Die Frage ist wieso...) :(
if(!empty($config['forestfights']) AND is_array($config['forestfights']))
reset($config['forestfights']);
if($session['user']['superuser']) var_dump($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
$config['forestfights'][$key]['left']--;
output("`@Du bekommst eine Extrarunde für die Punkte auf `^{$val['bought']}`@.");
$session['user']['turns']++;
if ($val['left']>1){
output(" Du hast `^".($val['left']-1)."`@ Tage von diesem Kauf übrig.`n");
}else{
unset($config['forestfights'][$key]);
output(" Dieser Kauf ist damit abgelaufen.`n");
}
}[/php]

Mit

[php]$config = unserialize($session['user']['donationconfig']);
if (!is_array($config['forestfights'])) $config['forestfights']=array();

// FEHLER!!!!!!! (Die Frage ist wieso...) :(
if(!empty($config['forestfights']) AND is_array($config['forestfights'])) {
if($session['user']['superuser']) var_dump($config['forestfights']);

reset($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
$config['forestfights'][$key]['left']--;
output("`@Du bekommst eine Extrarunde für die Punkte auf `^{$val['bought']}`@.");
$session['user']['turns']++;
if ($val['left']>1){
output(" Du hast `^".($val['left']-1)."`@ Tage von diesem Kauf übrig.`n");
}else{
unset($config['forestfights'][$key]);
output(" Dieser Kauf ist damit abgelaufen.`n");
}
}
}[/php]

Und gibst mir erneut die Ausgabe.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 15 Mär, 2007 07:15 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Damit funktionierts! Danke!
Und was hast du jetzt genau geändert?^^

Danke nochmal an alle, die mir geholfen haben/es versucht haben, und besonders auch an Seto!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 15 Mär, 2007 17:23 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
ReaL hat geschrieben:
Damit funktionierts! Danke!
Und was hast du jetzt genau geändert?^^

Danke nochmal an alle, die mir geholfen haben/es versucht haben, und besonders auch an Seto!


Hab die Klammern um den Block vergessen zu schreiben, das hab ich nun nachgeholt *hust*
Die Zeile mit dem var_dump() kannst du weglöschen. Jetzt bleibt nur noch die Frage ob es wirklich funktioniert. Ich meine, wenn man Bonuswaldkämpfe hat... ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 15 Mär, 2007 21:41 
Offline
Newbie

Registriert: Do 26 Okt, 2006 14:32
Beiträge: 8
LoGD: http://logd.loz-community.de/source.php
Das kann ich leider gerade nicht testen, da bei der lodge.php der gleiche Fehler kommt, wie er in der newday.php war, wenn man Waldkämpfe kaufen will...

[php]}elseif ($_GET['op']=="forestfights"){
if (!is_array($config['forestfights'])) $config['forestfights']=array();
output("1 Extra Waldkampf pro Tag für 30 Tage kostet 100 Punkte. Du bekommst einen extra Waldkampf an jedem Tag, an dem du spielst.`n");
if($pointsavailable<100){
output("`n`n`\$Du hast nicht genug Punkte!`0");
} else {
addnav("Bestätige Extra Waldkämpfe");
addnav("JA","lodge.php?op=fightbuy");
}
addnav("Zurück zur Jägerhütte","lodge.php");
reset($config['forestfights']);
while (list($key,$val)=each($config['forestfights'])){
//output("Du hast noch {$val['left']} Tage, an denen zu einen zusätzlichen Waldkampf für deine am {$val['bought]} bekommst.`n");
output("Du hast noch {$val['left']} Tage, an denen zu einen zusätzlichen Waldkampf für deine am {$val['bought']} bekommst.`n");
}
}elseif ($_GET['op']=="fightbuy"){
if (count($config['forestfights'])>=5){
output("Du Kannst maximal 5 extra Waldkämpfe haben pro Tag.`n");
}else{
if ($pointsavailable>0){
array_push($config['forestfights'],array("left"=>30,"bought"=>date("M d")));
output("Du wirst in den nächsten 30 Tagen, an denen du spielst, einen extra Waldkampf haben.");
$session['user']['donationspent']+=100;
}else{
output("Extra Waldkämpfe zu kaufen kostet 100 Punkte, aber du hast nicht so viele.");
}
}
addnav("Zurück zur Jägerhütte","lodge.php");[/php]

Falls es hilft:[php]
if($session['user']['superuser']) var_dump($config['forestfights']);[/php]
gibt wieder
$this->bbcode_second_pass_code('', 'string(1) "A" ')
aus.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum