- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Очередной вопрос по формам, что бы хоть как то начать изучать php, решил почти сам сделать скрипт отправки писем с сайта.
Вот скрипт:
Соответственно из html формы передаются данные name и surname.
Помогите закончить ее
if (isset ($name))
проверяйте $_GET или $_POST, смотря чем передаете. Можете проверять $_REQUEST
Вот здесь ошибка:
$name = substr($surname,0,20);
нужно
$surname = substr($surname,0,20);
Т.е. примерно будет так:
Кроме того в mail() укажите кодировку, в которой отправляете и content-type
HostCMS, форма заработала, спасибо, но сообщения об ошибке (превышение кол-ва символов не выводится и пустое поле) не выводятся, письмо все равно отправляется.
update: или можете разнести в разные ветки условий проверку на пустоту и превышение количества символов(но проверять также полседовательно). Кроме того, тоже самое можно делать и с помощью switch - case .
Dreammaker, а с чем может быть связано что ограничение на количество символов не действует?
Пустота проверяется.
Сделайте попроще проверку на длину
strlen($_POST['name'])<20
вместо
!$name = substr($_POST['name'], 0, 20) - неправильно
И поскольку у нас не будет переменных $name, $surname, то надо поменять
$message = "Фамилия: {$_POST['surname']}\nИмя: {$_POST['name']}";
Измененный вариант Dreammaker
Varkolak,
Shtogrin правильно написал о проверке. Я на автомате скопировал без изменений, вот оттуда и неправильная работа :)
Проверка символов вновь не работает (
Сделайте попроще проверку на длину
strlen($_POST['name'])<20
вместо
неправильно! У Вас будет предупреждение, если в POST-е нет элемента с указанным именем.
if (!isset($_POST['name']) || strlen($_POST['name'])<20)
В этой строке тоже будет ошибка при отсутствии элемента в суперглобально массиве.