За последние 24 часа нас посетили 22939 программистов и 1262 робота. Сейчас ищут 755 программистов ...

Ошибка! Не верная капча!

Тема в разделе "PHP для новичков", создана пользователем Кубик, 28 апр 2017.

  1. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Здравствуйте!
    Снова всё вроде правильно, 10 раз проверил,
    но выдаёт ошибку: Не верная капча!
    captcha.php
    PHP:
    1. <?php
    2.     session_start();
    3.     $Random = rand(1000, 9999);
    4.     $_SESSION['captcha'] = md5($Random);
    5.     $im = imagecreatetruecolor(110, 30);
    6.     imagefilledrectangle($im, 0, 0, 200, 30, imagecolorallocate($im, 255, 255, 255));
    7.     imagettftext($im, 30, 0, 0, 30, imagecolorallocate($im, 82, 82, 82), '../resource/font.otf', $Random);
    8.     header('Expires: Wed, 1 Jan 1997 00:00:00 GMT');
    9.     header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    10.     header('Cache-Control: no-store, no-cache, must-revalidate');
    11.     header('Cache-Control: post-check=0, pre-check=0', false);
    12.     header('Pragma: no-cache');
    13.     header('Content-type: image/gif');
    14.     imagegif($im);
    15.     imagedestroy($im);
    16. ?>
    account.php
    PHP:
    1. <?php
    2.     if ($_POST['enter']){
    3.    
    4.         $_POST['login'] = FormChars($_POST['login']);
    5.         $_POST['password'] = md5(FormChars($_POST['password']));
    6.         $_POST['email'] = FormChars($_POST['email']);
    7.         //$_POST['captcha'] = FormChars($_POST['captcha']);
    8.        
    9.         if (!$_POST['login'] or !$_POST['email'] or !$_POST['password'] or !$_POST['captcha']) MessageSend(1, 'Заполните все поля!');;
    10.        
    11.         if ($_SESSION['captcha'] != md5($Random)) MessageSend(1, 'Не верная капча!');
    12.        
    13.        
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    Кубик нравится это.
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    в сессию не нужно писать md5
    можно просто число писать =)
     
    Кубик нравится это.
  4. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    пишет:
    Notice: Undefined variable: Random inD:\OpenServer\domains\test.ru\form\account.phpon line11

    md5 убрал
     
  5. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Кубик
    Мне просто стало интересно, а с чем ты сравниваешь капчу?
    PHP:
    1. if ($_SESSION['captcha'] !=  $_POST['capthca']) MessageSend(1, 'Не верная капча!');
    Попробуй так сделать.
     
    #5 _ne_scaju_, 29 апр 2017
    Последнее редактирование: 29 апр 2017
    Кубик нравится это.
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну. Тебе нормальным английским языком интерпретатор сказал, что ему мешает нормально обрабатывать твой скрипт. Это счастье, интерпретатор матерится! Это значит, что ошибка на ладони. Хуже всего, когда интерпретатор молчит, но при этом ничего не работает
     
  7. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Спасибо, понял
     
  8. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Кубик
    Получилось, сделать?
    Если да, то хоть кому то в первые помог. :D