Господа кодеры php, вопрос к вам. Совсем не разбираюсь с php, немого профиль другой, но нужно очень. Проблема следующая - есть форма обратной связи на сайте, в ней таблица с action=mail.php. Собственно в мейл. пхп все работает, письма приходят, все хорошо, но как бы сделать так, что бы не заполнив все поля в форме - письмо оптравить было бы нельзя с резолвом, типа: "заполните все обязательные поля". А то сейчас отправить можно хоть со всеми пустыми полями.
Код мейл. пхп:
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$mess = $_POST['message'];}
$to = "xxxxxxxxxxx;
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Ваше сообщение отправлено! ";
$message = "Имя пославшего: $name \nЭлектронный адрес: $email \nСообщение: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "Спасибо за отправку вашего сообщения! ";
echo "Нажмите, чтобы вернуться на главную страницу";
}
else
{
echo "Ошибка. Сообщение не отправлено! ";
}
?>
Собственно, как из него видно - в форме на сайте есть 3 строки, имя, e-mail и сообщение. Нужно, что бы они стали обязательными к заполнению, все 3. Как это сделать?
Другие языки программирования и технологии
Вопрос по PHP к кодерам. Как сделать поле в форме обратной связи обязательным?
А фильтровать данные кто будет? ? Волочкова или Киркоров? ?Используйте вот такой код
<?php
if(isset($_POST['send'])) {
$name = trim(htmlspecialchars($_POST['name']));
$email = trim(htmlspecialchars($_POST['email']));
$message = trim(htmlspecialchars($_POST['message']));
if(empty($name)) echo 'Enter name';
else if(empty($email)) echo 'Enter email';
else if(empty($message)) echo 'Enter message';
else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) echo 'Incorrect email';
else {
$to = 'bebebebbebe';
$subject = 'subject';
$headers = 'Content-Type: text/plain; charset=windows-1251';
$send = mail($to, $subject, $message, $headers);
if($send) echo 'Sended';
else echo 'Failed';
}
}
?>
<form action="" method="post">
<input type="text" name="name" /><br />
<input type="text" name="email" /><br />
<textarea name="message" cols="80" rows="3"></textearea><br />
<input type="submit" name="send" />
</form>
Теперь немножко теории. . в принципе чтобы избежать лишной нагрузки на сервер можно проверять форму с помощью js или же использовать для обязательных полей атрибут required..а для проверки в html5 есть новый тип инпутов. . а именно email..это прекрасно но из за старых браузеров приходится использовать старые добрые варианты =)
<?php
if(isset($_POST['send'])) {
$name = trim(htmlspecialchars($_POST['name']));
$email = trim(htmlspecialchars($_POST['email']));
$message = trim(htmlspecialchars($_POST['message']));
if(empty($name)) echo 'Enter name';
else if(empty($email)) echo 'Enter email';
else if(empty($message)) echo 'Enter message';
else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) echo 'Incorrect email';
else {
$to = 'bebebebbebe';
$subject = 'subject';
$headers = 'Content-Type: text/plain; charset=windows-1251';
$send = mail($to, $subject, $message, $headers);
if($send) echo 'Sended';
else echo 'Failed';
}
}
?>
<form action="" method="post">
<input type="text" name="name" /><br />
<input type="text" name="email" /><br />
<textarea name="message" cols="80" rows="3"></textearea><br />
<input type="submit" name="send" />
</form>
Теперь немножко теории. . в принципе чтобы избежать лишной нагрузки на сервер можно проверять форму с помощью js или же использовать для обязательных полей атрибут required..а для проверки в html5 есть новый тип инпутов. . а именно email..это прекрасно но из за старых браузеров приходится использовать старые добрые варианты =)
<?
if (isset($_POST['name']) && isset($_POST['email']) &&isset($_POST['message']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "xxxxxxxxxxx;
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Ваше сообщение отправлено! ";
$message = "Имя пославшего: $name \nЭлектронный адрес: $email \nСообщение: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "Спасибо за отправку вашего сообщения! ";
echo "Нажмите, чтобы вернуться на главную страницу";
}
else
{
echo "Ошибка. Сообщение не отправлено! ";
}
}
else
{
echo 'Заполните поля';
}
?>
if (isset($_POST['name']) && isset($_POST['email']) &&isset($_POST['message']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "xxxxxxxxxxx;
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Ваше сообщение отправлено! ";
$message = "Имя пославшего: $name \nЭлектронный адрес: $email \nСообщение: $mess";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo "Спасибо за отправку вашего сообщения! ";
echo "Нажмите, чтобы вернуться на главную страницу";
}
else
{
echo "Ошибка. Сообщение не отправлено! ";
}
}
else
{
echo 'Заполните поля';
}
?>
Похожие вопросы
- как сделать переход на нужную страницу после отправки сообщения через форму обратной связи.
- Как сделать форму обратной связи?
- Научите пожалуйста делать форму обратной связи на сайте?
- Подскажите, где скачать скрипт для формы обратной связи
- Обратная связь на HTML (JavaScript)?
- Вопрос по PHP
- Вопрос по PHP и HTML, прав я или ошибаюсь...
- Один вопрос оп PHP&MySQL
- Вопрос по PHP.
- Вопрос по PHP. Что нужно для программирования на PHP?
if ( isset( $_POST['name'] , $_POST['email'] , $_POST['message'] ) ) {