Добрый день, имеется у меня код на js который при нажатии на сслыку генерит поля для вводва е-мейл адресов. Также имеется php код, который проверяет данные. Проблема: - проверка производится только по первой форму, т.е. если первая прав. то и все прав., если первая не прав, то и остальные не прав. вот код: | Код | func.php ======================= <?php
class mail { var $mail; var $subject; var $text;
function sendmail($email, $subject, $text) { require_once('Rmail/Rmail.php');
$sendmail = new Rmail(); $sendmail->setFrom('MailForm <[email protected]>'); $sendmail->setSubject($subject); $sendmail->setPriority('high'); $sendmail->setText($text); $sendmail->setReceipt('[email protected]'); $result = $sendmail->send(array($email)); } }
class validation {
function valid_name($name) { return(preg_match('/^[A-Za-z]+$/', $name)); }
function valid_phone($phone) { return(preg_match('/^([\(]{1}[0-9]{3}[\)]{1}[ ]{1}[0-9]{3}[\-]{1}[0-9]{4})$/', $phone)); }
function valid_email($mails) { return(preg_match('/^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$/', $mails)); }
function captcha($cptch) { session_start(); if($_SESSION['s_cptch'] == $cptch) { return true; } else { return false; } session_destroy(); }
function verification() { /*$len = count($_POST['linkurl']); for($i = 0; $i < $len; $i++) { $mails = $_POST['linkurl'][$i]; }*/ $addr = $_POST['linkurl']; $valid = true; foreach($addr as $key => $mails) { if(!$this->valid_email($mails)) { $valid = false; break; } }
if($valid /*&& $this->valid_name($_POST['name'])/* && $this->valid_phone($_POST['phone']) && $this->valid_email($mails) && $this->captcha($_POST['cptch'])*/) { $message = "Your data is successfully sent."; //$m = new mail(); //$m->sendmail($_POST['linkurl'], $_POST['subject'], $_POST['message']); } else { $message = "Please enter your details correctly"; }
return $message; }
}
?> index.php ======================= <?php require_once('functions.php'); $phpself = $_SERVER['PHP_SELF'];
if(!empty($_POST['submit'])) { $obj = new validation(); $message = $obj->verification();
} else { $message = ""; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="css/form.css" type="text/css" /> <script type="text/javascript"> /* This script is identical to the above JavaScript function. */ var ct = 1; function new_link() { ct++; var div1 = document.createElement('div'); div1.id = ct; // link to delete extended form elements var delLink = '<td><a href="javascript:delIt('+ ct +')">Del</a></div>'; div1.innerHTML = document.getElementById('newlinktpl').innerHTML + delLink; document.getElementById('newlink').appendChild(div1); } // function to delete the newly added set of elements function delIt(eleId) { d = document; var ele = d.getElementById(eleId); var parentEle = d.getElementById('newlink'); parentEle.removeChild(ele); }
</script> <title>SendForm</title> </head> <body> <?php $form_str = <<< FORM $message <table> <tbody> <tr> <form action="$phpself" method="post"> <td class="label"><label for="name">Name:</label></td> <td> <input name="name" id="name" type="text" size="20" maxlength="15" /> </td> </tr> <tr> <td class="label"><label>Phone:</label></td> <td> <input name="phone" id="phone" type="text" size="20" maxlength="15" /> </td> </tr> <tr> <td class="label"><label>Email:</label></td> <td> <div id="newlink"> <div><input name="linkurl[]" type="text" size="20" maxlength="30" /></div> </div> </td> <td> <p id="addnew"> <a href="javascript:new_link()">Add address </a> </p> </td> </tr> <tr> <td class="label"><label>Subject:</label></td> <td><input name="subject" id="subject" type="text" size="43" maxlength="30" /></td> </tr> <tr> <td class="label"><label>Message:</label></td> <td><textarea name="message" id="message" rows="10" cols="50"></textarea></td> </tr> <tr> <td class="label"><label>Captcha:</label></td> <td><img src="captcha_img.php" /></td> </tr> <tr> <td><input name="cptch" id="cptch" type="text" size="6" maxlength="4"/></td> <td><input name="submit" type="submit" value="Send" /></td> </form> </tr>
</tbody> <!--- Tpl new input e-mail --> <div id="newlinktpl" style="display:none"> <div><input name="linkurl[]" type="text" size="20" maxlength="30"></div> </div> </table>
FORM; print($form_str); ?> </body> </html>
|
|