Не приходит письмо на почиу.
Привет.
Написал код для отправки письма на почту. но письмо на почту не приходит, где ошибка? <form id="first_form" onsubmit="sendForm(); return false;"> <input type="text" name="telephone"> <input type="submit" name="submit" value="Отправить форму"> </form> function sendForm() { $.post('send.php', $('#first_form').serialize()); } И код файла обработчика. if($_POST['telephone']) { $phone = substr(htmlspecialchars(trim($_POST['telephone'])), 0, 20); // $to - кому отправляем $to = 'info@test.ru'; // $from - от кого $from='test2@test.ru'; // функция, которая отправляет наше письмо. mail($to, $phone, 'From:'.$from); echo 'Спасибо! Ваше письмо отправлено.'; } |
Пропущены обязательные параметры: mail
|
Переписал код так. Все равно тишина на почте. В строке адресной появляется POST запрос. И все.
$subject = "Письмо"; if($_POST['telephone']) { $phone = substr(htmlspecialchars(trim($_POST['telephone'])), 0, 20); // $to - кому отправляем $to = 'info@test.ru'; // $from - от кого $from='test2@test.ru'; // функция, которая отправляет наше письмо. mail($to, $subject, $phone); echo 'Спасибо! Ваше письмо отправлено.'; } |
А что за почта? На локальном хосте поди сайт то, так он и не отправит на почту там заглушка...
|
|
Мог бы и повежливее быть. Подключено у меня все. Консоль так говорит.
|
На локальной хосте проверяешь?
|
нет, в инете. Сейчас все перенес на отдельный файл - все работает. А подключаю в страницу - не отправляется. У меня Joomla, там может быть заморочка с mootools? Как разрулить это?
|
Так. Сейчас напишу что у меня тут происходит.
По нажатию на кнопку отправить в адресной строке добавляется ?telephone=4521&submit=Отправить+форм у В консоли Chrome я ввел скрипт для проверки подключения jQuery: var msg; if (window.jQuery) { msg = 'You are running jQuery version: ' + jQuery.fn.jquery; } else { msg = 'jQuery is not installed'; } alert(msg); Написала что все подключено - версия 1.9.0. Но письмо на почту не приходит. Все дело я думаю в jquery. Кто что подскажет? |
Ну сколько можно же! mootools использует тоже знак доллара.
Так что доллар в глобале ссылается на функцию мутулза. Прокидывай в анонимную функцию глобальный объект jQuery: (function($){ alert($.fn.jquery); })(jQuery); А вобще, тебе и мутулза хватит запостить форму. Используй new Request() вроде-бы, смотри документацию по мутулзу. Сериализации в мутулзе может не быть (ходя должна быть наверное), но тебе и сериалзиовать то нефиг - одно поле. Можешь вручную это сделать. Для расширения кругозора, чтоб не клинило на jQuery, полезно будет! |
Спасибо за совет. Все сделал на mootools. Все работает хорошо. Только вот не знаю, как сделать валидацию на mootools.
|
Ну попытайся чтоли. Показывай что есть.
|
пока только вот что смог сделать:
$_POST['phone'] = preg_replace('/[^0-9]/u', '', $_POST['phone']); $phone = substr(htmlspecialchars(trim($_POST['phone'])), 0, 20); echo '<script>$(\'phone\').set(\'value\', '.($_POST['phone']).');</script>'; А как сделать валидацию "на лету"? |
Это не валидация, а нормализация что-ли.
phone = phone.replace(/[^0-9]/g, '').substring(0, 20); |
Часовой пояс GMT +3, время: 02:44. |