0

我目前正在制作一个简单的 php 脚本来编辑 JavaScript 游戏的某些方面。尝试使用表单将变量从脚本传递到游戏时,变量数据似乎没有传输。截至目前,该脚本旨在编辑游戏中一名玩家的 RDG 值。代码如下:

脚本.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 回答