最近サーバーを移動しましたが、いくつかの奇妙な問題に気づいています。私たちが気付いた主な問題は、php で null チェックが実行される変数が文字列として解釈されていることです。
例えば
if($var == null){
//do something
}
主な変更点は次の 2 つです。 1. HTTP サーバーから HTTPS への変更 2. PHP バージョン 5.3.14 から 5.3.13 への変更
リクエストは、jQuery.ajax ポスト コールを使用して行われます。
私の質問は、これが発生している既知の問題/理由 (上記の変更など) はありますか? また、問題を解決するためにできることはありますか (最小限の変更で)。
いつものように、あなたの応答に感謝します!
編集:例
Js/jQuery
var test = null;
$.ajax({
url: 'functions.php',
data: { action: 'testNullFunction', testVar:test },
type: 'post',
success:
function (output) {
alert(output)
}})
Php:
if (isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch ($action) {
case 'testNullFunction':
if ($_POST['testVar']==null || is_null($_POST['testVar'])){
echo "its null";
}
break;