Посетил ваш сайт - сайты под ключ делать хорошо, а пытаться учиться новому самостоятельно - плохо?) По каждому параметру из вашего вопроса гугл отдает подробные ответы. Но по сути вот как надо
Дмитрий Чередниченко: А зачем вы делаете json_encode уже для кодированного массива? Т.е. получается двойной json_encode... А по поводу пустого ответа - надо смотреть, что за скрипт на принимающей стороне. Может быть банально - ошибка входных данных и вместо текстового описания ошибки возвращается пустая строка.