So... Ich habe eine kleine Frage...
Ich bin momentan an einem kleinen Skript und würde nun gerne wissen wieso das folgende nicht funktioniert (oder beziehungsweise ob es überhaupt funktionieren könnte).
[php]<?php
require_once "common.php";
addcommentary();
page_header("Saal der Attribute");
if($session['user']['attribut']){
switch ($_GET['op']){
case '':
output('Erst einmal probeweise etwas Text...`n`n`n`n');
viewcommentary("attribut","`nVorschlag:",15,"schlägt vor");
addnav("Momentane Werte","attribut.php?op=werte");
addnav("Attribute verbessern","attribut.php?op=train");
addnav("Zurück");
addnav("Zurück","superuser.php");
break;
case werte:
rawoutput("Stärke: ".$session['user']['attribut']['stärke']."/100 ".grafbar(100,$session['user']['attribut']['stärke'])." <br>");
rawoutput("Geschicklichkeit: ".$session['user']['attribut']['geschicklichkeit']."/100 ".grafbar(100,$session['user']['attribut']['geschicklichkeit'])." <br>");
rawoutput("Geschwindigkeit: ".$session['user']['attribut']['geschwindigkeit']."/100 ".grafbar(100,$session['user']['attribut']['geschwindigkeit'])." <br>");
addnav("Zurück");
addnav("Zurück","attribut.php");
break;
case train:
addnav("Verbessern");
addnav("Stärke trainieren","attribut.php?op=staerke");
addnav("Geschicklichkeit trainieren","attribut.php?op=geschicklichkeit");
addnav("Geschwindigkeit trainieren","attribut.php?op=geschwindigkeit");
addnav("Zurück");
addnav("Zurück","attribut.php");
break;
case staerke:
output("Du willst also wirklich deine Stärke verbessern? Es würde dich `^5000 Gold `0 kosten. Falls du dich so entscheiden solltest, kannst du dort in jenen Raum gehen. Dort wirst du für einige Runden trainieren können.");
addnav("Trainieren","attribut.php?op=raumst");
addnav("Zurück");
addnav("Etwas anderes wählen","attribut.php?op=train");
break;
case geschicklichkeit:
output("Du willst also wirklich deine Geschicklichkeit verbessern? Es würde dich `^5000 Gold `0 kosten. Falls du dich so entscheiden solltest, kannst du dort in jenen Raum gehen. Dort wirst du für einige Runden trainieren können.");
addnav("Trainieren","attribut.php?op=raumge");
addnav("Zurück");
addnav("Etwas anderes wählen","attribut.php?op=train");
break;
case geschwindigkeit:
output("Du willst also wirklich deine Geschwindigkeit verbessern? Es würde dich `^5000 Gold `0 kosten. Falls du dich so entscheiden solltest, kannst du dort in jenen Raum gehen. Dort wirst du für einige Runden trainieren können.");
addnav("Trainieren","attribut.php?op=raumgeschw");
addnav("Zurück");
addnav("Etwas anderes wählen","attribut.php?op=train");
break;
case raumst:
if ($session['user']['gold']<5000 || $session['user']['turns']<3){
output("Du willst soeben den Raum betreten, doch wird dir der Eintritt verwehrt... Du hast wohl nicht genug Gold dabei, ode rdann scheinst du den Wächtern einfach zu erschöpft zu sein. Leise seufzend drehst du dich wieder um.");
} else{
output("Du kommst in einen grossen Raum. Sofort wirst du aufgehalten. Doch drückst du den Wächtern die verlangten `^5000 Gold `0 in die Hand und so lassen sie dich unbeschadet passieren. Rings um dich herum befinden sich auch andere Krieger, welche sich den verschiedensten Arten von Training widmen... Einige hantieren mit Hanteln, andere werfen Bälle in die Luft oder rennen schnellst möglich umher.`n`n
Und beinahe sofort kommt ein Betreuer auf dich zu der dir sagt, dass er bereits instruiert worden sei und dir helfen werde, deine Stärke zu verbessern.
`nDu nickst nur und folgst ihm zu den angedeuteten Gerätschaften. Ebenfalls zeigt er dir einige Übungen, die auch hilfreich sein könnten. Nach einer Weile lässt er dich dann auch alleine und du beginnst höchstmotiviert dein Training. Erst ganze 3 Stunden später hörst du wieder auf. Das ganze hat dich ziemlich müde gemacht, doch hat es sich auch gelohnt, du meinst die Veränderung bereits richtig zu fühlen.
Verschwitzt, doch wirklich zufrieden verlässt du den Raum langsam wieder.
");
$session['user']['gold']-=5000;
$session['user']['attribut']['stärke']++;
$session['user']['turns']-=3;
}
addnav("Zurück");
addnav("Zurück","attribut.php");
break;
case raumge:
if ($session['user']['gold']<5000 || $session['user']['turns']<3){
output("Du willst soeben den Raum betreten, doch wird dir der Eintritt verwehrt... Du hast wohl nicht genug Gold dabei, ode rdann scheinst du den Wächtern einfach zu erschöpft zu sein. Leise seufzend drehst du dich wieder um.");
} else{
output("Du kommst in einen grossen Raum. Sofort wirst du aufgehalten. Doch drückst du den Wächtern die verlangten `^5000 Gold `0 in die Hand und so lassen sie dich unbeschadet passieren. Rings um dich herum befinden sich auch andere Krieger, welche sich den verschiedensten Arten von Training widmen... Einige hantieren mit Hanteln, andere werfen Bälle in die Luft oder rennen schnellst möglich umher.`n`n
Und beinahe sofort kommt ein Betreuer auf dich zu der dir sagt, dass er bereits instruiert worden sei und dir helfen werde, deine Geschicklichkeit zu verbessern
`nDu nickst nur und folgst ihm zu den angedeuteten Gerätschaften. Ebenfalls zeigt er dir einige Übungen, die auch hilfreich sein könnten. Nach einer Weile lässt er dich dann auch alleine und du beginnst höchstmotiviert dein Training. Erst ganze 3 Stunden später hörst du wieder auf. Das ganze hat dich ziemlich müde gemacht, doch hat es sich auch gelohnt, du meinst die Veränderung bereits richtig zu fühlen.
Verschwitzt, doch wirklich zufrieden verlässt du den Raum langsam wieder.
");
$session['user']['gold']-=5000;
$session['user']['attribut']['geschicklichkeit']++;
$session['user']['turns']-=3;
}
addnav("Zurück");
addnav("Zurück","attribut.php");
break;
case raumgeschw:
if ($session['user']['gold']<5000 || $session['user']['turns']<3){
output("Du willst soeben den Raum betreten, doch wird dir der Eintritt verwehrt... Du hast wohl nicht genug Gold dabei, ode rdann scheinst du den Wächtern einfach zu erschöpft zu sein. Leise seufzend drehst du dich wieder um.");
} else{
output("Du kommst in einen grossen Raum. Sofort wirst du aufgehalten. Doch drückst du den Wächtern die verlangten `^5000 Gold `0 in die Hand und so lassen sie dich unbeschadet passieren. Rings um dich herum befinden sich auch andere Krieger, welche sich den verschiedensten Arten von Training widmen... Einige hantieren mit Hanteln, andere werfen Bälle in die Luft oder rennen schnellst möglich umher.`n`n
Und beinahe sofort kommt ein Betreuer auf dich zu der dir sagt, dass er bereits instruiert worden sei und dir helfen werde, deine Geschwindigkeit zu erhöhen
`nDu nickst nur und folgst ihm zu den angedeuteten Gerätschaften. Ebenfalls zeigt er dir einige Übungen, die auch hilfreich sein könnten. Nach einer Weile lässt er dich dann auch alleine und du beginnst höchstmotiviert dein Training. Erst ganze 3 Stunden später hörst du wieder auf. Das ganze hat dich ziemlich müde gemacht, doch hat es sich auch gelohnt, du meinst die Veränderung bereits richtig zu fühlen.
Verschwitzt, doch wirklich zufrieden verlässt du den Raum langsam wieder.
");
$session['user']['gold']-=5000;
$session['user']['attribut']['geschwindigkeit']++;
$session['user']['turns']-=3;
}
addnav("Zurück");
addnav("Zurück","attribut.php");
break;
}
}else{
$session['user']['attribut'] = array('stärke', 'geschicklichkeit', 'geschwindigkeit');
redirect('attribut.php');
}
page_footer();
?>
[/php]
Was ich will ist wohl klar, und zwar dass die Fähigkeiten in einem Array im DB-Feld attribut gespeichert werden (Text, not null).
Die Fehlermeldung (wenn der Wert erhöht werden sollte) ist folgende
$this->bbcode_second_pass_code('', 'Fatal error: Cannot increment/decrement overloaded objects nor string offsets in /home/www/web267/html/logd/attribut.php on line 224')
Falls jemand ne Idee hat wäre ich sehr froh, wenn dieser jemand mir diese auch mitteilen könnte ;-)
Bis anhin
Harthas
|