Привет я использую 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'>''add_post_ajax' '</font> <i>(length=16)</i>
</pre>
Что это: o
Ваша проблема в одинарных кавычках.
Ваш $ _POST [‘action’] использует 'add_post_ajax'
но вы проверяете add_post_ajax
Когда вы отправляете это:
xmlhttp.send("action='add_post_ajax' ...
Вы получаете это:
'add_post_ajax' (length=16)
add_post_ajax
длиной 14 символов, два дополнительных символа '
; это символ HTML для одиночной кавычки.
Других решений пока нет …