Для общего развития:
- Проверка на то, что это ajax-запрос:
if ((!empty($_POST))&&(isset($_SERVER['HTTP_X_REQUESTED_WITH']))&&($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'))
- Собирайте ответ в переменную и отдавайте одним echo
- На POST запрос сервер должен, что-нибудь ответить (хотя бы просто "пробел"). У Вас ситуация отсутствия приводит к пустому ответу, который возвращает код ошибки (не вашей ошибки).
@aumk Да, точно. Там выравнивание происходит по левому краю и центру по вертикали.
Если посмотреть код, то там просто при изменении размеров пересчитывается margin-top блока с изображением в зависимости от height. Верхняя и нижняя выступающая часть закрываются другими блоками.
@artemev Используйте стандартную "гибридную" связку базы и файлов. То есть функционал теста (код) помещаете файл и даёте этому файлу название равное id записи данного теста в базе. При поиске теста вы работаете с базой, а при его запуске просто проверяете наличие файла (или лучше считываете нужный файл, если все тесты будут в файлах)