首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量从JS传递给PHP

将变量从JS传递给PHP
EN

Stack Overflow用户
提问于 2012-11-25 08:20:29
回答 3查看 262关注 0票数 0

我知道这很简单,但我是个新手。我想通过JS从PHP查询传递一个变量(用于open-flash-chart)到数据文件,即PHP。

这是我的PHP文件中的JS。我很确定我的问题出在JS部分,因为我以前从未用过它。

代码语言:javascript
复制
<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)

代码语言:javascript
复制
<?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'";
EN

回答 3

Stack Overflow用户

发布于 2012-11-25 08:22:37

代码语言:javascript
复制
data2.php?variable="whatever variable"

在php端做什么

代码语言:javascript
复制
$variable=$_GET["variable"];

现在,变量是您传递的变量,您可以使用它做任何您想做的事情

票数 0
EN

Stack Overflow用户

发布于 2012-11-25 09:26:09

假设您想要使用var播放器,请在swfobject.embedSWF调用中更改这一点

代码语言:javascript
复制
{"data-file":"data2.php?player=" + player }
票数 0
EN

Stack Overflow用户

发布于 2012-11-26 10:26:07

嗯,这在很大程度上取决于你的需求!

javascript会改变这个变量吗?如果没有,那么在php页面之间传输数据的最好方法就是会话!还有其他选项,如cookies,get vars,post vars等,但用户可能会更改它们,如果用户这样做了,您的脚本将处于处理错误信息的尴尬境地!

使用会话,您的第一个页面将简单地如下所示:

代码语言:javascript
复制
<?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文件的最开始,在那个函数之前不应该发送任何头文件!

那么,你的数据文件就会变成这样:

代码语言:javascript
复制
<?php session_start();

/* ...your includes and the rest... */

$sql = "SELECT pos FROM nflscore where username = '{$_SESSION['player']}'";

相反,Using cookies是完全一样的,你只需要在脚本的开头启动会话(但如果它是游戏,你应该已经依赖它们了)!不过,最棒的是,你还可以在之后的javascript中访问cookie!

这就是你的第一个页面应该是什么样子:

代码语言:javascript
复制
<?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>
<!-- [...] -->

您的数据页面也会变成:

代码语言:javascript
复制
$sql = "SELECT pos FROM nflscore where username = '{$_COOKIE['player']}'";

第三个简单的选择是从一开始就把信息放在应该放的地方;)所以没有会话,没有cookie,只需要简单的get变量!

第一个文件:

代码语言:javascript
复制
<!-- [...] -->
<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>
<!-- [...] -->

第二个文件:

代码语言:javascript
复制
$sql = "SELECT pos FROM nflscore where username = '{$_GET['player']}'";

但是,如果您的javascript需要更改变量的内容,那么就会变得不同

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13547065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档