PHPで返してほしいものに対して、私はこれを間違っていると思います。私がやろうとしているのは、ユーザー名がajax経由で支払われているかどうかを確認することです。
私がこれを行うと、それ自体で動作するPHP:
$username = $_POST['username'];
function checkPlayer($player) {
$mcURL = 'http://www.minecraft.net/haspaid.jsp?user=';
$auth = file_get_contents($mcURL . $player);
if (trim($auth) == "true") {
echo $player. ' is ';
} else {
echo $player. ' is ';
}
return $auth;
}
echo checkPlayer($username);
$username
値を のような静的なものに変更すると、私が望むことを行い$username = "Notch";
ます。しかし、私が使用$_POST['username']
し、次のJSを使用する場合はそうではありません:
$(document).on('keyup', 'input', function(){
var inputVal = $('input').val();
$.post('auth.php', inputVal, function(data){
console.log(input.Val + ' is ' data);
});
});
' fslfjslkfjls true
' のような何かがfalse
. HTML:
<form>
<input type="text" name="username" value="" class="authcheck">
</form>
何が間違っていますか?
更新: galchen の回答の後、(ちょっと) 動作するようになりました (エラーは発生しません)。
var inputVal = $('input').val();
$.post('auth.php', { 'username' : inputVal }, function(data){
console.log(inputVal + ' is ' + data);
});
しかし、今では、true でなくても、すべての入力が true を返します。どうすればこれを修正できますか?