Приветствую!
На странице контактов, установил генерацию капчи (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]