0

私は現在、JavaScript でゲームの特定の側面を編集するための単純な php スクリプトの作成に取り組んでいます。フォームを使用してスクリプトからゲームに変数を渡そうとすると、変数データが​​転送されないようです。現在のところ、スクリプトはゲーム内の 1 人のプレイヤーの RDG 値を編集するためのものです。コードは次のとおりです。

script.php:

<html>
<head>
<title>Form</title>
</head>
<body>

<form method="get" action="tron2.html">


<p>What are your player 1's RGB values:
<input type="text" name="color1r" /> Red 
<input type="text" name="color1g" /> Green 
<input type="text" name="color1b" /> Blue </p>

<input type="submit" value="Submit" />

</form>

</body>
</html>

そして、変数が割り当てられているjavascriptのコードの部分

<?php

$color1r = $_POST["color1r"];
$color1g = $_POST["color1g"];
$color1b = $_POST["color1b"];


?>


<HTML>
    <HEAD>
    <TITLE>
        Tron2 
    </TITLE>
    <script>
                    var x = "<?=  $color1r; ?>";
                    var y = "<?=  $color1g; ?>";
        var z = "<?=  $color1b; ?>";
                     //more code for the game

ゲームが実行されると、プレイヤーの色は黒のままなので、x、y、z の値はすべて 0 でなければなりません。値が渡されない理由はありますか?

4

2 に答える 2

6
<form method="get" ...>

$color1r = $_POST["color1r"];

友達ではありません。

<form method="post" ...>$color1r = $_POST["color1r"];友達であり、
<form method="get" ...>そして$color1r = $_GET["color1r"];また友達です。

また、<?= echoエラーが発生するはずです。<? echo $stringまたはを使用する<?=$string

于 2013-02-21T02:01:41.037 に答える
0

接線方向のPOST/GETの取り違えは別として、常にjson_encode()JSコードでPHP変数を出力するために使用します。

echoエスケープまたは他のエスケープ関数がないと、無効なコードや安全でないコードが生成されます。

<script>var jsvalue = <?php echo json_encode($phpvalue) ?>;</script>

あなたの特定の場合:

<form method="post" action="tron2.html">

<script>
    var x = <?= json_encode($color1r) ?>;
于 2013-02-21T02:02:32.353 に答える