0

私はその本当に単純なことを知っていますが、私は初心者です。PHPクエリからJS(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'";
4

3 に答える 3

0
data2.php?variable="whatever variable"

PHP側で行う

$variable=$_GET["variable"];

これで、variableは渡した変数であり、それを使ってやりたいことができます。

于 2012-11-25T00:22:36.510 に答える
0

var プレーヤーを使用する場合は、swfobject.embedSWF 呼び出しでこれを変更します。

{"data-file":"data2.php?player=" + player }
于 2012-11-25T01:26:09.243 に答える
0

それはあなたのニーズに大きく依存します!

JavaScriptはその変数を変更しますか? そうでない場合、php ページ間でデータを転送する最良の方法はセッションです! Cookie、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']}'";

代わりにCookie を使用することはまったく同じです。スクリプトの開始時にセッションを開始する必要はありません (ただし、ゲームの場合は、既に Cookie に依存する必要があります)。ただし、後で 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']}'";

3 番目の簡単なオプションは、最初から適切な場所に情報をドロップすることです ;) したがって、セッションも Cookie も使用せず、単純に変数を取得するだけです!

最初のファイル:

<!-- [...] -->
<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>
<!-- [...] -->

2 番目のファイル:

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

ただし、JavaScript で変数の内容を変更する必要がある場合は状況が異なります

于 2012-11-26T02:26:06.743 に答える