2015-09-06 3 views
-2

Итак, я посылаю массив входов:PHP не повторить правильную переменную из массива

<input type="text" placeholder="Question" name="question[]" value="" /> 
<input type="text" placeholder="Question" name="question[]" value="" /> 

с этим Jquery код:

$.post("function.php",{Question:$("[name^='question']").serialize()},function(data){ 
    $("#construct").append(data); 
    alert('done'); 
}); 

, но когда я пытаюсь echo переменные массив печатает неправильно PHP (function.php):

$Question=htmlentities($_POST['Question'],ENT_QUOTES,"UTF-8"); 
echo $Question[0]."<br>"; 
echo $Question[1]."<br>"; 

Теперь представьте себе, что мы входим в "Привет" и «Пока» на входе. Поэтому он должен возвращать «Hello» и «Bye», но вместо этого он возвращает «q» и «u».

var_dump из оферте:

строка (39) "вопрос% 5B% 5D = Hello & вопрос% 5B% 5D = Bye"

Edit 1

если я использую .serialize() Я всегда получаю «q» и «u», но если я использую .val(), я получаю первую и вторую буквы каждого слова

Edit 2

Я даже попробовал PHP код без htmlentities() но результат такой же, как и раньше.

+0

Показать выход 'var_dump (($ _ POST [ 'вопрос']);' в вашем вопросе –

+0

@JohnConde Я редактировал свой пост с 'выходом var_dump' – NavidIvanian

+0

Почему я получаю вниз голос ????? – NavidIvanian

ответ

1

Вы выполнили сериализацию ввода в JavaScript, поэтому ввод, поступающий в PHP, представляет собой строку, а не массив. Поэтому вам нужно декодировать его в массив. Использование JSON - хороший подход.

Пример для ленивых:

JavaScript

var normalArray = $('#FormID').serializeArray(); 
var jsonArray = JSON.stringify(normalArray); 
$.post("function.php",{ 
    data: jsonArray 
}); 

PHP

$normalArray = json_decode($_POST['data'], true); 

Этот пример не тестировался, но он должен работать в целом.

+0

Итак, что я могу использовать вместо '.serialize()' ?? – NavidIvanian

+0

использовать 'JSON.stringify (my_array)' в javascript мой друг, а на PHP вы делаете 'json_decode ($ _ POST ['question'], true)' . Здесь: http://stackoverflow.com/questions/6937144/sending-javascript-object-to-php-via-ajax http://php.net/manual/en/function.json-decode. php –

+0

Не могли бы вы дать мне образец в своем сообщении ??? – NavidIvanian

Смежные вопросы