だから、私はこのRPGゲームをPHPを使ってずっと取り組んできました。さまざまなページで変数を保存するために、かなり長い間、いくつかのセッションを機能させようとしてきました。私のページから私の問題に関連するコードは次のとおりです。
ライン1:<?php session_start(); ?>
この部分は、ユーザーが「キャラクターを作成する」ために入力したフォームから結果を判断するだけです
if ($_GET["race"]=="Human"){
$_SESSION["race"] = "Human";
$_SESSION["raceadj"] = "Human";
$_SESSION['racestrengthbonus'] = 0;
$_SESSION['raceendurancebonus'] = 0;
$_SESSION['raceintellectbonus'] = 0;
$_SESSION['racewillpowerbonus'] = 0;
$_SESSION['raceluckbonus'] = 0;
そしてクラスのために
if ($_GET["career"]=="Knight"){
$_SESSION["career"] = "Knight";
$_SESSION['classstrengthbonus'] = 10;
$_SESSION['classendurancebonus'] = 10;
$_SESSION['classintellectbonus'] = 0;
$_SESSION['classwillpowerbonus'] = 0;
$_SESSION['classluckbonus'] = 0;
$_SESSION['RightHand'] = "Iron Sword";
$_SESSION['LeftHand'] = "Wooden Shield";
$_SESSION['Armor'] = "Iron Armor";
これらすべてが使用されているコードは次のとおりです。
<?PHP
echo "<div class=\"playerstats\" align=\"center\"><span class=\"playername\">".$_GET["name"]."</span><br><span class=\"redtext\">".$_SESSION["race"]." - ".$_SESSION['career']." - ".$_SESSION["health"]." HP - ".$_SESSION["gold"]." Gold</div>
<div style=\"float:left\"><span class=\"redtext\">Strength: </span>".$_SESSION["strength"]."<br>
<span class=\"redtext\">Endurance: </span>".$_SESSION["endurance"]."<br>
<span class=\"redtext\">Intellect: </span>".$_SESSION["intellect"]."<br>
<span class=\"redtext\">Willpower: </span>".$_SESSION["willpower"]."<br>
<span class=\"redtext\">Luck: </span>".$_SESSION["luck"]."<br></div>";
echo "<div class=\"equipment\"><span class=\"hover right\">".$_SESSION["RightHand"]."</span><span class=\"redtext\"> - Right Hand</span><br>
<span class=\"hover left\">".$_SESSION['LeftHand']."</span><span class=\"redtext\"> - Left Hand</span><br>
<span class=\"hover\">".$_SESSION['Armor']."</span><span class=\"redtext\"> - Armor</span><br></div>"; ?>
このページを初めて読み込むと、すべてが正しく表示されます。名前、人種などはすべて、ユーザーがフォームに入力したものを表示しますが、ユーザーがページ上のアクション (同じページに結果を表示する単純なフォーム) のいずれかを使用した場合、変数は保存されません。名前を保存せずに、レースとクラスの両方の「else」結果に直接移動します。何が間違っているのかわかりません。何か助けはありますか?