アンドロイドアプリを使用してPHPスクリプトにデータを送信しています。以下はPHPスクリプトです。PHP Post変数が機能しない
telejoke.php:
<?php
include 'JokeValidation.php';
include 'DBConnect.php';
$username = $_POST['username'];
$joke = $_POST['joke'];
$dbname = 'Telejoke';
mysql_select_db($dbname);
if (validate()){
$query = "INSERT INTO jokes (username, joke) VALUES ('$username','$joke')";
mysql_query($query) or die('Error, insert query failed');
}
mysql_close($conn);
?>
jokevalidation.php:
<?php
include 'DBConnect.php';
$dbname = 'telejoke';
mysql_select_db($dbname);
function validate(){
if ($joke == null) return false;
else if($username == null) return false;
return true;
}
?>
何らかの理由で、私はif ($joke == null) return false;
とelse if($username == null) return false;
を取る際に、PHPスクリプトは、データベースにデータを入れます。しかし、これらの文をPHPコードに入れてみると、validateはfalseを返すようです。これは奇妙です。なぜなら、$ usernameと$ jokeは私がこれらの文を取り出すときに自分のデータベースに行きます。つまり、nullにすることはできません。
お手数ですが、ありがとう。
どこからあなたがvarsを取得する検証メソッドですか? – Rufinus
思考変数は文書スコープでした。 :P – moesef
ヒント:DBConnect.phpファイルにinclude_onceを使用すると、複数の接続が作成されないようになります。また、jokevalidation.phpの外観からは、データベース接続も全く必要ありません(ただし、ただのスニペット)。 –