Показать сообщение отдельно
  #1 (permalink)  
Старый 04.09.2013, 16:42
Новичок на форуме
Отправить личное сообщение для mstlive Посмотреть профиль Найти все сообщения от mstlive
 
Регистрация: 04.09.2013
Сообщений: 3

Проверка кода капчи на Javascript
Приветствую!

На странице контактов, установил генерацию капчи (PHP), он генерирует картинку и проверочный код. Форма обрабатывается яваскриптом. Но почемуто переменная не передается в яваскрипт, ее значение underfined.

Код генерации капчи (отдельный фаил captcha.php):
...
$cod = implode("",$cod);                    //переводим код в строку
 session_start();
 $_SESSION['code']=$cod;
header ("Content-type: image/gif");         //выводим готовую картинку
imagegif($src); 
?>

...

Код на странице контактов:

...
<?php
    if (isset($_POST['inputName']))
    {
        $name = $_POST['inputName'];
        $headers = $_POST['inputEmail'];
        $text = $_POST['inputText'];
        $message = $text;
	$to = 'почта@почта.ru';
        $subject = 'Сообщение с сайта';
	
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail = "Здравствуйте! 
Вашей контактной формой было отправлено сообщение! 
Имя отправителя: $name 
E-mail: $headers 
Текст сообщения: $message 
Конец";

wp_mail($to, $subject, $message_to_myemail);



?>
                                    <div class="fb_form_title">
                                        <p>Спасибо за Ваше обращение.</p>
                                        <p>В самое ближайшее время мы свяжемся с Вами по указанному e-mail.</p>
                                    </div> 
<?php
    }
    else
    {
?>
                                    <div class="fb_form_title">
                                        <p>Чтобы отправить нам сообщение, заполните эту форму.</p>
                                        <p>Для заполнения обязательны все поля.</p>
                                    </div>
                                   


					<form method="post" >
                                        <div>
                                            <label for="inputName">Ваше имя</label>
                                            <input type="text" id="inputName" name="inputName">
                                        </div>
                                        <div>
                                            <label for="inputEmail">Электронная почта (используется нами только для обратной связи)</label>
                                            <input type="text" id="inputEmail" name="inputEmail">
                                        </div>
                                        <div>   
                                            <label for="inputText">Сообщение</label>
                                            <textarea id="inputText" name="inputText"></textarea>
                                        </div>
                                        <div>                                           
                                            <label for="inputCaptcha">Введите код, подтвердите, что Вы не робот</label>
                                            <img class="inputCaptcha_img" src="/wp-content/themes/alexblogin/images/captcha.php" alt="" />
                                            <input type="text" id="inputCaptcha" name="inputCaptcha">
						</div>                                        
                                        <button type="submit" onclick="return submit_form(this)">Отправить</button>
                                    </form>





<?php

session_start(); 
$code=$_SESSION['code']; 
<script>var ccode="<? echo $code; ?>"</script>

}


?>
                                </div>
			</div>

[JS]<script>


/* Валидация формы, пустые поля*/
function submit_form(value) {
	
	
	
	var tel = jQuery("#inputName");
        var email = jQuery("#inputEmail");
        var text = jQuery("#inputText");
        var patt = /^.+@.+[.].{2,}$/i;
	var inputCaptcha = jQuery("#inputCaptcha");
	
	if( ! tel.val() ) {
            alert("Укажите свое имя");
            tel.focus();
            return false;
        }
        else if( ! text.val() ) {
            alert("Введите текст сообщения");
            text.focus();
            return false;
        }
        else if(!patt.test(email.val())) {
            alert("Вы ввели неправильный email. Попробуйте еще раз");
            email.focus();
            return false;
        }
        else if(! inputCaptcha.val() ) {
            alert("Введите проверочный код!");
            captcha.focus();
            return false;
        }
 	else if(inputCaptcha.val()!=ccode.val()) {
            alert("Неверно введены символы!");
            captcha.focus();
            return false;
        }
        else if(inputCaptcha.val()==ccode.val()) {
            
            return true;
        }
	else {
            return false;
        }
}
</script>[/JS]
Ответить с цитированием