Во-вторых, непонятна формулировка "поиск и по символу (*)". И меется ввиду поиск сивола '*' в каком-то тексте?
Тогда нужно экранировать '*' символом обратной косой '\'.
В начале скрипта ну совсем-совсем никак? Очень странно.
Ну тогда буфферизация. Либо второй вариант: $output .= "<html>..."; $output .= "..."; $output .= "...</html>"; echo($output);
Только вот и буфферизация, и использование переменной для вывода - можно уткнуться в предел доступной оперативной памяти.
С action='' в скрипте выполняете SQL-запрос, а потом делаете: header("Location: http://laravel.php");
Только есть одно условие: header() должен вызываться ДО ЛЮБОГО echo().
То есть блок с SQL-запросом должен быть в саааааамом начале скрипта. Ну или использовать буфферизацию вывода.
Какие-нибудь ошибки есть? В log-файле web сервера ошибки есть? У JPG файла права доступа позволяют пользователю, под которым работает скрипт отправки, читать файл?
Нет, проблема не в коде AJAX (он работает совершенно исправно), а в том, что лучше весь PHP код внутри if(!empty($_POST['applicant'])) { ... } перенести в отдельный файл ajax.php, и к нему (ajax.php) обращаться из AJAX-кода. Тогда в ответе не будет HTML-я.
Либо этот код перенести в начало файла, и сделать ветвление if-else.
Подождите. У вас делается AJAX-запрос к файлу index.php?
А вот этот весь код находится в этом index.php?
В DevTools посмотрите, как при нажатии кнопки на странице уходит AJAX POST запрос, какие данные в нём передаются, на какой адрес, и что отвечает запрошенная страница.
И ещё, вы действительно владеете почтовым ящиком mail@gmail.com с паролем test? Или это просто текст для сокрытия реальных SMTP-данных отправки письма?
Ну вот, пробуйте.
Тут и код отправки письма должен выполняться, и print_r() выведет содержимое массива $_POST. Если не отправится - смотрите, какие данные с какими именами всё таки приходят...