post — array_key_exsists не работает должным образом

Привет я использую array_key_exists в php вот мой код

$action_array = array(
'add_post_ajax'=>'posts'
);if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
echo $_POST['action'];
if(array_key_exists($_POST['action'],$action_array))
{
$class = $action_array[$_POST['action']];
}
else
{
echo "wrong data";
}
}

echo $_POST['action']; дисплей add_post_ajax затем печатает wrong data

странно, пожалуйста, помогите мне, я делаю что-то не так здесь

ОБНОВИТЬ

Я тоже пытался обрезать

if(array_key_exists(trim($_POST['action']),$action_array))

все тот же результат: /

вот мой запрос ajax

xmlhttp.send("action='add_post_ajax' &name=" + name + "&email=" + email + "&post=" + post);

echo $_POST['action'] дает мне add_post_ajax но var_dump($_POST['action']) дает мне проводной результат

<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'&#39;add_post_ajax&#39; '</font> <i>(length=16)</i>
</pre>

Что это: o

0

Решение

Ваша проблема в одинарных кавычках.

Ваш $ _POST [‘action’] использует 'add_post_ajax' но вы проверяете add_post_ajax

Когда вы отправляете это:

xmlhttp.send("action='add_post_ajax' ...

Вы получаете это:

 &#39;add_post_ajax&#39; (length=16)

add_post_ajax длиной 14 символов, два дополнительных символа &#39;; это символ HTML для одиночной кавычки.

4

Другие решения

Других решений пока нет …