私はこのフラッシュゲームを作って、すべての適切な変数を入力しました。ユーザーがログインしている場合は、変数$ _SESSION [user]をmysqlデータベースに入力してユーザーのスコアを格納する必要があります(SHOULD)。奇妙な理由のために、それはしません。私は$ _SESSION [user]変数を正しくエコーすることができますが、mysql DBにスローされるとNULL(0)を返します。すべての処理を行うコードは次のとおりです。私が間違って何も表示されない
<?php
session_start();
?>
<html>
<?php
include("../package.php"); //stuff for UI
echo $_SESSION[user]; //this works
if($_SESSION[user]){
mysql_query("INSERT INTO `DB`.`TABLE` (`user`,`type`,`game`,`score`) VALUES ('$_SESSION[user]', '$_POST[type]', '$_POST[g]', '$_POST[score]')");
?>
//Congratulations message in HTML
<?php
}
else{
?>
//Tells you to login (the 'else' statement to if($_SESSION[user])) also in HTML
<?php
}
?>
....
スクリプトをデバッグするときは、実際にエラー報告を有効にする必要があります。それからあなたはそこに複数のエラーがあることを知っています。警告を探してください。とにかくこれはいくつかの児童に多くの楽しい使い方をさせるでしょう(訳注:あなたのデータベースはSQLインジェクションのため - http://xkcd.com/327/ – hakre
'echo $ _SESSION [user]; // this works'は最初のエラーを出すはずです(確かに../package.phpにはもっとエラーがあります)。 – hakre
フラッシュゲームからのSQLインジェクション?そんなことがあるものか?私はそれらに入力するフィールドを与えませんでした... –