... mir ist klar was die Fehlermeldung bedeutet. foreach erwartet ein array, bekommt aber keines. Seltsam finde ich nur dass es einmal klappt.
ich bastele an einem kampfsystem mit mehreren gengern und teste gerade die übersicht.
gespeichert werden die gegner als mehrdimensionales array in $session['user']['badguy'].
in der datenbank sieht das zb so aus...
$this->bbcode_second_pass_code('', '
a:3:{i:0;a:8:{s:4:"name";s:12:"kleiner Hund";s:6:"skills";s:0:"";s:5:"beute";s:0:"";s:3:"atk";d:7;s:3:"def";d:8;s:2:"hp";d:7;s:2:"mp";i:0;s:3:"exp";d:9;}i:1;a:8:{s:4:"name";s:12:"kleiner Hund";s:6:"skills";s:0:"";s:5:"beute";s:0:"";s:3:"atk";d:7;s:3:"def";d:8;s:2:"hp";d:7;s:2:"mp";i:0;s:3:"exp";d:12;}i:2;a:8:{s:4:"name";s:4:"Hund";s:6:"skills";s:0:"";s:5:"beute";s:0:"";s:3:"atk";d:7;s:3:"def";d:8;s:2:"hp";d:20;s:2:"mp";i:0;s:3:"exp";d:20;}}
')
mit dieser funktion werden sie mir dann angezeigt
PHP:
function monster_overview(){
global $session;
$return=true;
$count=0;
foreach($session['user']['badguy'] AS $monster){
if($monster['hp']>0){
output("`n`n
".$count."-
".$monster['name']."`n
".$monster['hp']."
");
rawoutput("<br /><a href='game.php?op=atk&id=".$count."'>Angreifen</a>");
addnav("","game.php?op=atk&id=".$count);
$count++;
}
}
if($count<1) $return=false;
return $return;
}
das ganze hab ich mal zum test so laufen:
PHP:
switch($_GET['op']){
default:
if(!load_monster($_GET['m_id'],$_GET['m_group'])){
output("Was auch immer du hier suchst, etwas zu bekämpfen findest du hier sicher nicht.");
addnav("Zurück","game.php?forest=back");
}else{
monster_overview();
addnav("(Zurück)","game.php?forest=back");
}
break;
case"atk":
monster_overview();
addnav("(Zurück)","game.php?forest=back");
break;
}
beim ersten mal funktioniert monster_overview(); genau so wie ich es will. wenn ich jedoch auf angreifen gehe, also op=atk, dann funktioniert monster_overview(); nicht mehr und gibt besagten fehler aus.
kann irgendwie nur an der bearbeitung von $session liegen oder ich hab irgendwo nen denkfehler.
wäre toll wenn mir wer helfen kann
