У меня возникли проблемы с отправкой массива JSON с AJAX в файл PHP, который вставляет информацию в соответствующие столбцы в базе данных. Jquery и Json отлично работают, но похоже, что сторона PHP не получает правильные значения, или, может быть, json не закодирован правильно.Отправка данных JSON через AJAX в базу данных
Любые идеи, как я могу это исправить?
JSON:
{
"Email": [
{
"Name": "My Name",
"Phone": "1234567",
"Email": "[email protected]",
"Interested_in": "Text text.",
"User_id": "1"
}
]
}
PHP:
$timeStamp = time();
$new_email = $_POST['NewMail'];
$email_info = $new_email->Email;
// New Email
mysql_query("INSERT INTO " . $dbPrefix . "touches (date, user_id, name, phone, email, interested_in, seen, status) VALUES ('".safeSQL($timeStamp)."', '".safeSQL($email_info->User_id)."', '".safeSQL($email_info->Name)."','".safeSQL($email_info->Phone)."', '".safeSQL($email_info->Email)."', '".safeSQL($email_info->Interested_in)."', '0', '1')") or die("Query failed: " . mysql_error());
UPDATE:
Jquery для отправки в PHP
$(document).on('click', '#send_touch', function(){
new_email = [];
new_email.push({
Name: $('#name').val(),
Phone: $('#phone').val(),
Email: $('#email').val(),
Interested_in: $('#interested_in').val(),
User_id: $('#email_user_id').val()
});
new_email = JSON.stringify({Email: new_email}, null, "\t");
$.ajax({
url: "core.php",
type: "post",
data: { NewMail: new_email
},
success: function(data){
},
error: function(){
}
});
});
Также т Ried изменить PHP для этого:
$timeStamp = time();
$new_email = json_decode($_POST['NewMail']);
$email_info = $new_email->Email[0];
// New Hashtag
mysql_query("INSERT INTO " . $dbPrefix . "touches (date, user_id, name, phone, email, interested_in, seen, status) VALUES ('".safeSQL($timeStamp)."', '".safeSQL($email_info->User_id)."', '".safeSQL($email_info->Name)."','".safeSQL($email_info->Phone)."', '".safeSQL($email_info->Email)."', '".safeSQL($email_info->Interested_in)."', '0', '1')") or die("Query failed: " . mysql_error());
$ _POST [ 'Email']? – SenorAmor
Вы не показываете, как вы отправляете данные JSON в ваш PHP-скрипт. Если вы делаете это правильно, вам нужно будет использовать 'json_decode()' для распаковки данных в объект PHP, прежде чем вы сможете получить к нему доступ. –
Я обновил свой ответ кодом $ .ajax – Kim