2013-05-18 3 views
-1

У меня есть запрос на поиск информации пользователя в файле php. Я использую json_encode в том же файле, чтобы отправить данные на Ajax, чтобы он отображался с использованием функции .html().
Проблема в том, что переменные php не работают, когда я использую json_encode.

Давайте предположим, что мой PHP выглядит следующим образом: -Использование php-переменных внутри JSON

foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) { 
    $firstname = $row['FirstName']; 
    $lastname = $row['LastName']; 
} 
$fullname = $firstname . " " . $lastname; 
$data = array("success"=> true,"inpt"=>"<p>My name is $fullname</p>"); 
echo json_encode($data); 
header("Content-Type: application/json"); 


Что я получаю -> Меня зовут

Как заставить его работать?

Я попытался с помощью $data = array("u_data"=> 'own',"inpt"=>"<p>My name is ".$fullname."</p>"); Но это не сработало ..

+2

Вы уверены, что ваши первые имена и фамилии получены в первую очередь? – mattsven

+0

Да, я уверен в этом – Tom

+0

Обмен последние две строки как советы Haocheng. И если вы заглянете в Chrome Developer, вы очень четко поймете, что ответил сервер. Если он отвечает действительными данными, ваш код javascript нарушен. –

ответ

2

header() может быть действительным, только если ничего не выводилось до того, как это называется. Поэтому вы должны обменять echo и header().

header("Content-Type: application/json"); 
echo json_encode($data); 
2

$fullname = $firstname . " " . $lastname; 
        ^ ^

Оператор конкатенации PHP является .!

(Nice фиксация кода после факта там.)

Вы должны дополнительно улучшить свой код логики, хотя. Если результат SQL-запроса отсутствует, переменные будут неопределенными, и вы получите неожиданные результаты. Вам нужно обращаться именно с этим делом.

+0

попробовал уже – Tom

+0

Ну, ваш код, как написано, конечно же не прав, и вам нужно это исправить. Если есть проблемы, выходящие за рамки этого, ** debug ** с помощью 'var_dump', чтобы проверить, что происходит или не происходит, и если все значения переменных как ожидалось. – deceze

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