вот мой обработчик php
if ((!empty($_POST)) ? true : false)
{
include('../../data/config.php');
include('../../classes/general.php');
$result = array();
$result['status'] = 0;
$result['message'] = '';
// проверяем авторизацию
if ($_SESSION['auth'] && is_numeric($_SESSION['myid']))
{
if (isset($_POST['id']) && is_numeric($_POST['id']) && ($_POST['valuta'] == 'acc' || $_POST['valuta'] == 'lc'))
{
$mres = mysqli_fetch_assoc($mysqli->query("SELECT `id`,`money`,`credits` FROM ".DB_PREFIX."_users WHERE `id`='".intval($_SESSION['myid'])."'"));
$sql = $mysqli->query("SELECT * FROM ".DB_PREFIX."_thanks WHERE `from`='".intval($_SESSION['myid'])."' AND `to`='".intval($_POST['id'])."'");
$res = mysqli_fetch_assoc($sql);
if ($_POST['id'] == $_SESSION['myid'])
{
$result['message'] .= 'Вы не можете отблагодарить сами себя.<br />';
}
else if ((time()-$res['date']) < 86400 && mysqli_num_rows($sql) > 0)
{
$result['message'] .= 'Отблагодарить можно раз в 24 часа.<br />';
}
else
{
if (empty($_POST['suma']))
{
$result['message'] .= 'Пожалуйста, укажите сумму благодарности.<br />';
}
else
{
if (!is_numeric($_POST['suma']))
{
$result['message'] .= 'Неверно указана сумма. (ПР. 1 или 1.1 или 1.11)<br />';
}
if ($_POST['valuta'] == 'acc' && floatval($_POST['suma']) > $mres['money'])
{
$result['message'] .= 'У Вас недостаточно средств на счету.<br />';
}
else if ($_POST['valuta'] == 'lc' && floatval($_POST['suma']) > $mres['credits'])
{
$result['message'] .= 'У Вас недостаточно средств на счету.<br />';
}
}
// Проверяем текст
if (empty($_POST['desc']))
{
$result['message'] .= 'Пожалуйста, введите текст.<br />';
}
else if (strlen($_POST['desc']) > 100)
{
$result['message'] .= 'Введённый текст превышает 100 символов.<br />';
}
}
}
else
{
$result['message'] .= 'Ошибка страницы.<br />';
}
}
else
{
$result['message'] .= 'Вы не авторизованны.<br />';
}
// если ошибок нет заносим в базу
if(!$result['message'])
{
$mysqli->query("INSERT INTO `".DB_PREFIX."_thanks` (`from`,`to`,`desc`,`suma`,`valuta`,`date`)VALUES('".intval($_SESSION['myid'])."','".intval($_POST['id'])."','".input($_POST['desc'])."','".floatval($_POST['suma'])."','".$_POST['valuta']."','".time()."')");
$result['message'] = '<font color="green">Операция успешно завершена.</font>';
$result['status'] = 1;
}
else
{
$result['message'] = '<font color="red">'.$result['message'].'</font>';
}
echo json_encode($result);
$mysqli->close();
}
else
{
die('You are not allowed to execute this file directly');
}
вот js
$(document).ready(function()
{
$("#thankForm").submit(function()
{
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "inc/engine/thank/handler.php",
data: str,
dataType: "json",
success: function(msg)
{
$("#thxnote").ajaxComplete(function(event, request, settings)
{
if (msg.status)
{
$.colorbox.close();
}
$(this).html(msg.message);
});
}
});
return false;
});
});
если в
if (msg.status)
{
$.colorbox.close();
}
присутствует
$.colorbox.close();
то успешный ответ с php не возврощается, проста добавляется в базе, хотя допускаемые ошибки хорошо показывает, а если я снимаю
$.colorbox.close(); то успешный ответ от php выводится
в чем я ошибаюсь ?