Люди помогите! Как мне сделать,чтобы при нажатии на кнопку отправки, При незаполненных полях (пустых) браузер выдавал сообщение,типа: _вы не ввели имя__или__вы не ввели почту??? Вот этот код надо подшаманить: <?php function ValidateEmail($email) { $pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i'; return preg_match($pattern, $email); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $mailto = 'ТУТ-МОЯ-ПОЧТА@ya.ru'; $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto; $subject = 'Website form'; $message = 'Сообщение со страницы t2:'; $success_url = './ok-main.php'; $error_url = './error.php'; $error = ''; $eol = "\r\n"; $max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000; $boundary = md5(uniqid(time())); $header = 'From: '.$mailfrom.$eol; $header .= 'Reply-To: '.$mailfrom.$eol; $header .= 'MIME-Version: 1.0'.$eol; $header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol; $header .= 'X-Mailer: PHP v'.phpversion().$eol; if (!ValidateEmail($mailfrom)) { $error .= "The specified email address is invalid!\n<br>"; } if (!empty($error)) { $errorcode = file_get_contents($error_url); $replace = "##error##"; $errorcode = str_replace($replace, $error, $errorcode); echo $errorcode; exit; } $internalfields = array ("submit", "reset", "send", "captcha_code"); $message .= $eol; $message .= "IP Address : "; $message .= $_SERVER['REMOTE_ADDR']; $message .= $eol; foreach ($_POST as $key => $value) { if (!in_array(strtolower($key), $internalfields)) { if (!is_array($value)) { $message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol; } else { $message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol; } } } $body = 'This is a multi-part message in MIME format.'.$eol.$eol; $body .= '--'.$boundary.$eol; $body .= 'Content-Type: text/plain; charset=ISO-8859-1'.$eol; $body .= 'Content-Transfer-Encoding: 8bit'.$eol; $body .= $eol.stripslashes($message).$eol; if (!empty($_FILES)) { foreach ($_FILES as $key => $value) { if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize) { $body .= '--'.$boundary.$eol; $body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol; $body .= 'Content-Transfer-Encoding: base64'.$eol; $body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol; $body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol; } } } $body .= '--'.$boundary.'--'.$eol; if ($mailto != '') { mail($mailto, $subject, $body, $header); } header('Location: '.$success_url); exit; } ?> Что здесь надо доработать?Или дописать?
ну надо проверить, прислали или не прислали, а потом вывести. Судя по вопросу, вам надо нахаляву за вас переделать обработчик формы?
Эта форма работает,никакой халявы мне не надо. При незаполненных полях мне на почту приходит письмо-пустое. Я вот только не знаю как сделать,чтобы письмо не отсылалось (при пустых полях),а в браузере выводилось сообщение о незаполненности формы! С php не дружу,поэтому и попросил тут совета или помощи.
Можно решить на стороне браузера. Атрибут required="true" у поля ввода ) Но все равно шаловливые ручонки могут выпилить атрибут из верстки и вбить туда что угодно. Однако в 95% случаев этого достаточно, чтобы избежать ложного вызова скрипта. Браузер просто не даст отослать форму, пока поле не будет заполнено.
Выложи код формы, в которую вписывать надо инфу. Добавлено спустя 1 минуту 13 секунд: А вообще безмерно радует средняя квалификация новичков тут. "Я работаю с простынями кода, но понятия не имею, как они работают, сделайте то-то плз!"
Добавлено спустя несколько мгновений: Формочка, гляжу, судя по коду, тоже генератором сделана. В общем просите генератор, чтобы он свой код и правил. Или учитесь сами писать.
Извиняюсь за нубство... Чтобы не ошибиться,выложу весь код страницыЖАЛЬ СПОЙЛЕРА ЗДЕСЬ НЕТ). <?php function ValidateEmail($email) { $pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i'; return preg_match($pattern, $email); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $mailto = 'моя@почта'; $mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto; $subject = 'Website form'; $message = 'Сообщение со страницы zzz'; $success_url = ''; $error_url = ''; $error = ''; $eol = "\r\n"; $max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000; $boundary = md5(uniqid(time())); $header = 'From: '.$mailfrom.$eol; $header .= 'Reply-To: '.$mailfrom.$eol; $header .= 'MIME-Version: 1.0'.$eol; $header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol; $header .= 'X-Mailer: PHP v'.phpversion().$eol; if (!ValidateEmail($mailfrom)) { $error .= "The specified email address is invalid!\n<br>"; } if (!empty($error)) { $errorcode = file_get_contents($error_url); $replace = "##error##"; $errorcode = str_replace($replace, $error, $errorcode); echo $errorcode; exit; } $internalfields = array ("submit", "reset", "send", "captcha_code"); $message .= $eol; $message .= "IP Address : "; $message .= $_SERVER['REMOTE_ADDR']; $message .= $eol; foreach ($_POST as $key => $value) { if (!in_array(strtolower($key), $internalfields)) { if (!is_array($value)) { $message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol; } else { $message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol; } } } $body = 'This is a multi-part message in MIME format.'.$eol.$eol; $body .= '--'.$boundary.$eol; $body .= 'Content-Type: text/plain; charset=ISO-8859-1'.$eol; $body .= 'Content-Transfer-Encoding: 8bit'.$eol; $body .= $eol.stripslashes($message).$eol; if (!empty($_FILES)) { foreach ($_FILES as $key => $value) { if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize) { $body .= '--'.$boundary.$eol; $body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol; $body .= 'Content-Transfer-Encoding: base64'.$eol; $body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol; $body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol; } } } $body .= '--'.$boundary.'--'.$eol; if ($mailto != '') { mail($mailto, $subject, $body, $header); } header('Location: '.$success_url); exit; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Language" content="ru"> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <title>No name</title> <meta name="generator" content=""> <link href="Project_X1.css" rel="stylesheet" type="text/css"> <link href="zzz.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> function ValidateindexForm1(theForm) { var regexp; if (theForm.indexEditbox1.value == "") { alert("вы не ввели имя!"); theForm.indexEditbox1.focus(); return false; } if (theForm.indexEditbox1.value.length < 3) { alert("вы не ввели имя!"); theForm.indexEditbox1.focus(); return false; } if (theForm.indexEditbox1.value.length > 20) { alert("вы не ввели имя!"); theForm.indexEditbox1.focus(); return false; } if (theForm.indexEditbox2.value == "") { alert("введите мыло"); theForm.indexEditbox2.focus(); return false; } if (theForm.indexEditbox2.value.length < 4) { alert("введите мыло"); theForm.indexEditbox2.focus(); return false; } if (theForm.indexEditbox2.value.length > 30) { alert("введите мыло"); theForm.indexEditbox2.focus(); return false; } return true; } </script> </head> <body> <div id="wb_indexForm1" style="position:absolute;left:171px;top:199px;width:191px;height:163px;z-index:3;"> <form name="indexForm1" method="post" action="<?php echo basename(__FILE__); ?>" enctype="multipart/form-data" id="indexForm1" onsubmit="return ValidateindexForm1(this)"> <input type="text" id="indexEditbox1" style="position:absolute;left:34px;top:31px;width:94px;height:19px;line-height:19px;z-index:0;" name="имя" value="" placeholder="имя"> <input type="email" id="indexEditbox2" style="position:absolute;left:34px;top:70px;width:94px;height:19px;line-height:19px;z-index:1;" name="почта:" value="" placeholder="мыло"> <input type="submit" id="indexButton1" name="" value="Submit" style="position:absolute;left:85px;top:128px;width:96px;height:25px;z-index:2;"> </form> </div> </body> </html> Добавлено спустя 3 минуты 21 секунду: О ! Заработало,не пойму ни че,ведь делал все тоже самое и не работало. ппц,народ дико извиняюсь,но честно не пойму-ведь не работало,а тут вдруг бац и все ок.
Учитесь сами программировать, блин.. А то потом таких чудес будет огого сколько. А вы не контроллируете ни строчки кода. Все на магии работает. Зато есть бб-код Код (Text): , который вашу простыню спрячет.