それはあなたのニーズに大きく依存します!
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 で変数の内容を変更する必要がある場合は状況が異なります