Добрый вечер случилась ситуация, что как не крутил проверку на правильность ввода каптчи, так ее и не сделал. И так к делу, есть форма типа: PHP: <form action="" method="POST"> <img class="" id="captcha" src="captcha.php" alt="" /><br> <span onclick="document.getElementById('captcha').src = '/captcha.php?' + Math.random()">обновить</span><br> <input class="" name="captcha" placeholder="Введите код с картинки" type="text" value=""><br> <input class="" type="submit" name="user_register" value="Зарегистрироваться"><br> </form> //И тут код для проверки if(empty($_POST['captcha'])){ $err[] = 'Капча не может быть пуста<br>'; }elseif(!empty($_POST['captcha']) != $_SESSION['captcha']){ $err[] = 'Ошиблись при вводе капчи'; }else{ echo 'vse horosho'; } Как только не подставлял условие, не хочет ее проверять да и все. Вроде все логично сделал, а проверка не проходит. Вы конечно не орите с меня. Но мое мнения что все тут я правильно сделал.
в начале скрипта есть стартер сессии ? --- Добавлено --- session_start() --- Добавлено --- если есть проверь: в конце кода впиши дебажик var_dump( $_POST['captcha'] , $_SESSION['captcha'] );
@MouseZver Вот это я про тупил, жесть, нету конечно, аааааа, зря тему создал... Сейчас стартану, и будет гуд) Я и так варДампом проверяю, сходится ввод данных что ввел и что есть в переменной Сессии капчи.
@MouseZver Угу уже поторопился) Не получилось, ааа Включить лог ошибок? ini_set('display_errors','On'); error_reporting('E_ALL');
@MouseZver vse horosho array(2) { ["captcha"]=> string(5) "N53Kv" ["user_register"]=> string(32) "Зарегистрироваться" } array(1) { ["captcha"]=> string(5) "N53Kv" } Я понял, в чем проблема была, надо было мне и маленькие и большие вводить буквы) За это забыл, просто капчу другую поставил, а тут правила такие прописаны)
@MouseZver А я понял, я убрал, уже когда исправлял) Итоговый результат: PHP: /*Проверяем код с картинки*/ if(empty($_POST['captcha'])){ $err[] = 'Капча не может быть пуста<br>'; } elseif($_POST['captcha'] != $_SESSION['captcha']){ $err[] = 'Ошиблись при вводе капчи'; }else{ echo 'vse horosho<br>'; } Спасибо, за обсуждения, за совет что сессию, сперва запустить надо, было) Тему можно прикрывать, вопрос решен!