Доброе утро Уважаемые! Решите пожалуйста проблему.. На сайте (на htm) есть форма обратной связи (обработчик на php, сама форма и страницы: ошибка, сообщение отправлено - на htm). Когда все поля формы заполнены, вводится код в окно капчи и с первого раза сообщение не отправляется, если снова вернуться в форму и ввести новую капчу (старая обновилась), то все нормально, сообщение уходит и теперь пока на сайте, то сообщения со всех страниц отправляются сразу и сколько хочешь. Но при первом заходе на сайт или после его закрытия, а потом снова открытия, то все повторяется снова. Т.е. форма отправляет сообщение только со второго раза. Где-то нашел, что надо в .htaccess добавить строку для автостарта сессии php: php_value session.auto_start 1 Но это ни чего не дало - отправляет только со второго раза. Отключил капчу и все стало работать нормально. Значит скорее всего проблема в файле index.php, который отвечает за капчу и расположен в папке captcha Сам сайт fаnаtgusyаtnik.ru Помогите (исправьте) пожалуйста эту проблему. Если надо, то скажите какие еще файлы выложить. Сам index.php: PHP: <?php error_reporting (E_ALL); /* Using: <?php session_start(); ?> <form action="./" method="post"> <p>Enter text shown below:</p> <p><img src="PATH-TO-THIS-SCRIPT?<?php echo session_name()?>=<?php echo session_id()?>"></p> <p><input type="text" name="keystring"></p> <p><input type="submit" value="Check"></p> </form> <?php if(count($_POST)>0){ if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){ echo "Correct"; }else{ echo "Wrong"; } } unset($_SESSION['captcha_keystring']); ?> */ include('kcaptcha.php'); if(isset($_REQUEST[session_name()])){ session_start(); } $captcha = new KCAPTCHA(); if($_REQUEST[session_name()]){ $_SESSION['captcha_keystring'] = $captcha->getKeyString(); } ?>
Забыл Если при первом заходе обновить страницу формы (Ctrl+F5), то все нормально, сообщение уходит сразу.
о боже... о боже (666 раз) неужели это тот самый код "Скаченный от Попова" с которым мне пришлось возиться и переделывать всю структуру сайта lib/kcaptcha/index.php: PHP: <?php session_start(); require ( 'kcaptcha.php' ); $captcha = new KCAPTCHA(); $_SESSION['captcha_keystring'] = $captcha->getKeyString(); --- Добавлено --- Не стоит скачивать УГ, а после прибегать на форум и просить переделать этот бред
Все. Проблема решилась. На одном из форумов написали мне код для этого index.php: PHP: <?php error_reporting (E_ALL); session_start(); include('kcaptcha.php'); $captcha = new KCAPTCHA(); $_SESSION['captcha_keystring'] = $captcha->getKeyString(); ?> Заменил и все стало нормально. Всем спасибо.
Удали лучше это хомно. И ребята не смотрите вы видеоуроки Попова. Это же бред сивой кабылы. Рукожопый самоучка возамнил себя мегакодером и учит народ писать говнокоды.