我知道这很简单,但我是个新手。我想通过JS从PHP查询传递一个变量(用于open-flash-chart)到数据文件,即PHP。
这是我的PHP文件中的JS。我很确定我的问题出在JS部分,因为我以前从未用过它。
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
var player = "<? echo $player1 ?>";
swfobject.embedSWF(
"open-flash-chart.swf", "my_chart", "900", "350", "9.0.0", "expressInstall.swf", {"data-file":"data2.php"} );
</script>我尝试将$player变量传递给图形数据文件,即( data2.php)
<?php
include("include/session.php");
include 'open-flash-chart/php-ofc-library/open-flash-chart.php';
if (isset($_GET['player'])) {
$player = $_GET['player']; }
$sql = "SELECT pos FROM nflscore where username = '$player'";发布于 2012-11-25 08:22:37
data2.php?variable="whatever variable"在php端做什么
$variable=$_GET["variable"];现在,变量是您传递的变量,您可以使用它做任何您想做的事情
发布于 2012-11-25 09:26:09
假设您想要使用var播放器,请在swfobject.embedSWF调用中更改这一点
{"data-file":"data2.php?player=" + player }发布于 2012-11-26 10:26:07
嗯,这在很大程度上取决于你的需求!
javascript会改变这个变量吗?如果没有,那么在php页面之间传输数据的最好方法就是会话!还有其他选项,如cookies,get vars,post vars等,但用户可能会更改它们,如果用户这样做了,您的脚本将处于处理错误信息的尴尬境地!
使用会话,您的第一个页面将简单地如下所示:
<?php session_start(); $_SESSION['player'] = $player; ?>
<!-- [...] -->
<script type="text/javascript">
swfobject.embedSWF("open-flash-chart.swf", "my_chart", "900", "350", "9.0.0", "expressInstall.swf", {"data-file":"data.php"} );
</script>
<!-- [...] -->session_start必须放在你的php文件的最开始,在那个函数之前不应该发送任何头文件!
那么,你的数据文件就会变成这样:
<?php session_start();
/* ...your includes and the rest... */
$sql = "SELECT pos FROM nflscore where username = '{$_SESSION['player']}'";相反,Using cookies是完全一样的,你只需要在脚本的开头启动会话(但如果它是游戏,你应该已经依赖它们了)!不过,最棒的是,你还可以在之后的javascript中访问cookie!
这就是你的第一个页面应该是什么样子:
<?php setcookie('player', $player) // somewhere in the script ?>
<!-- [...] -->
<script type="text/javascript">
swfobject.embedSWF("open-flash-chart.swf", "my_chart", "900", "350", "9.0.0", "expressInstall.swf", {"data-file":"data.php"} );
</script>
<!-- [...] -->您的数据页面也会变成:
$sql = "SELECT pos FROM nflscore where username = '{$_COOKIE['player']}'";第三个简单的选择是从一开始就把信息放在应该放的地方;)所以没有会话,没有cookie,只需要简单的get变量!
第一个文件:
<!-- [...] -->
<script type="text/javascript">
swfobject.embedSWF("open-flash-chart.swf", "my_chart", "900", "350", "9.0.0", "expressInstall.swf",
{"data-file":"data.php?player=<?php echo $player ?>"} );
</script>
<!-- [...] -->第二个文件:
$sql = "SELECT pos FROM nflscore where username = '{$_GET['player']}'";但是,如果您的javascript需要更改变量的内容,那么就会变得不同
https://stackoverflow.com/questions/13547065
复制相似问题