簡體   English   中英

PHP 會話不適用於游戲

[英]PHP sessions not working for game

我正在嘗試模仿一個名為 SKUNK(你用骰子玩)的游戲來完成任務。

我無法讓會話工作。 這是我第一次使用 PHP。 我還被告知它可以在沒有會話的情況下完成。

這是我的代碼:

<form method="get" action= "skunk.php">
    <h1>PLAY SKUNK</h1>

    ROLL AGAIN? <br> 
    yes<input type="radio" name="role2" value="yes"/>
    no<input type="radio" name="role2" value="no"/>
    <br>
    <input type="submit"/>

    </form>

<?php 

session_start();
    $_SESSION["s"] = array(0);
    $_SESSION["k1"] =array(0);
    $_SESSION["u"] = array(0);
    $_SESSION["n"] = array(0);
    $_SESSION["k2"] = array(0);
    $rand = 0;
    $rand2 = 0;
    $_SESSION["round"] = 1;
    if($_REQUEST["role2"] == "yes"){
        $rand = rand (1, 6);
        $rand2 = rand(1, 6);
         if($rand == 1 and $rand ==1){
            switch ($_SESSION["round"]) {
                case 1:
                    $_SESSION["s"] = array(0);
                    break;
                case 2:
                    $_SESSION["s"] = array(0);
                    $_SESSION["k1"] =array(0);
                    break;
                case 3:
                    $_SESSION["s"] = array(0);
                    $_SESSION["k1"] =array(0);
                    $_SESSION["u"] = array(0);
                    break;
                case 4:
                    $_SESSION["s"] = array(0);
                    $_SESSION["k1"] =array(0);
                    $_SESSION["u"] = array(0);
                    $_SESSION["n"] = array(0);
                    break;
                case 5:
                    $_SESSION["s"] = array(0);
                    $_SESSION["k1"] =array(0);
                    $_SESSION["u"] = array(0);
                    $_SESSION["n"] = array(0);
                    $_SESSION["k2"] = array(0); 
                    break;
            }
         }
         if($rand > 1 and $rand2 > 1) {
            switch ($_SESSION["round"]) {
                case 1:
                    array_push($_SESSION["s"], $rand, $rand2);
                    break;
                case 2:
                    array_push($_SESSION["k1"], $rand, $rand2);
                    break;
                case 3:
                    array_push($_SESSION["u"], $rand, $rand2);
                    break;
                case 4:
                    array_push($_SESSION["n"], $rand, $rand2);
                    break;
                case 5:
                    array_push($_SESSION["k2"], $rand, $rand2);
                    break;
            }
            $_SESSION["round"]++;
        }

        if($_SESSION["round"] > 5){
            session_destroy();
        }
        echo "you rolled: " . $rand . "\n";
        echo "you rolled: " . $rand2;

    }

?>
    <table style="width:100%" border="1" >
          <tr>
            <td>S</td>
            <td>K</td> 
            <td>U</td>
            <td>N</td>
            <td>K</td>
          </tr>
    </table>
    <table style="width:100%" border="1" >
          <tr>
            <td><?php echo array_sum($_SESSION["s"]); ?></td>
            <td><?php echo array_sum($_SESSION["k1"]); ?></td> 
            <td><?php echo array_sum($_SESSION["u"]); ?></td>
            <td><?php echo array_sum($_SESSION["n"]); ?></td>
            <td><?php echo array_sum($_SESSION["k2"]); ?></td>
          </tr>
    </table>

如果您在任何時候使用 session session_start() 應該是任何打印功能之前的第一行。

在頁面開頭啟動會話,然后嘗試打印 echo " $_SESSION["s"]";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM