ФорумПрограммированиеPHP для идиотов → Активация аккаунта

Активация аккаунта

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Дек. 16, 2009, 11:03 п.п., спустя 1 минуту 54 секунды


    А можно на моем примере покажите как использовать uniqid(), а то я чет не до конца понял как это должно выглядеть…
    я даже и не знаю что сказать, ты про функцию rand слышал?
    Сапожник без сапог
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 16, 2009, 11:46 п.п., спустя 42 минуты 38 секунд


    я даже и не знаю что сказать, ты про функцию rand слышал?

    Да, конечно
    Т.е нужно вместо:
    $checkSum=base64_encode(substr($name,0,3).$email_login[0]); 

    Писать
    $checkSum = md5(uniqid(rand(),1));

    Я правильно понял?
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz Дек. 16, 2009, 11:45 п.п., спустя 23 часа 59 минут 14 секунд

    епт…
    $UNIQUE_ID = uniqid(mt_rand(), 1);


    можно еще так:
    $UNIQUE_ID = md5(uniqid(mt_rand(), 1));
    Неужели так трудно под себя подогнать, а?
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 16, 2009, 11:55 п.п., спустя 10 минут 19 секунд

    Соответственно ссылка для активации будет выглядеть таким образом
    Ссылка для активации:<a
    href=\"http://www.site.ru/Register/activate.php?checkSum=".$checkSum."\">Перейти</a>";

    Так?
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz Дек. 17, 2009, 12:10 д.п., спустя 14 минут 36 секунд

    PyMbIH, да так :)


    http://www.site.ru/Register/activate.php?checkSum=0db8fd435c128a39366488772ceb9fd33f72ccede3ec746994886e443671383e43cacb62c7e1df579a7cd7c6e973ffbdef51e075
    О_о
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Дек. 17, 2009, 11:57 д.п., спустя 11 часов 46 минут 53 секунды

    1. То есть до этого отправлялась почта, а сейчас нет?
    2. При регистрации PHP выдает какие-либо ошибки? Какие?
    3. Включен ли режим вывода ошибок в стандартный поток (display_errors)? Какой уровень вывода ошибок включен (error_reporting)?
    4. mysql_error что-то говорит?
    5. В таблице появляется запись? Уникальный идентификатор там есть?
    Спустя 47 сек.
    Это все называется отладка, научитесь это делать в первую очередь, тогда будете себе и окружающим экономить время
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 17, 2009, 12:17 п.п., спустя 20 минут 3 секунды

    1. непосредственно с сайта почта отправляется, а с этого скрипта никак не отправляется
    2. При регистрации ошибок не выдает
    3. error_reporting() из кода убрал
    4. ошибок в mysql нет
    5 в таблице появляется уникальный идентификатор

    Но почему при этом не уходит письмо никакое понять не могу :(
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Дек. 17, 2009, 12:21 п.п., спустя 4 минуты 40 секунд

    3. Не важно убрали вы его или нет, я говорю о директиве. Какой стоит уровень?
    Спустя 19 сек.
    3. Что по поводу display_errors?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 17, 2009, 12:52 п.п., спустя 30 минут 42 секунды

    error_reporting (0) - вот такое значение стояло
    Вот что вставил в .htaccess
    php_value display_errors 1
    php_value error_reporting 2047

  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Дек. 17, 2009, 12:51 п.п., спустя 23 часа 58 минут 56 секунд

    ini_set('display_errors', 1);
    все умрут, а я изумруд
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 17, 2009, 1:05 п.п., спустя 14 минут 9 секунд

    Начало выдавать ошибки….
    <?php
           session_start();


           $mysql['host']  = 'localhost';
           $mysql['pass']  = '1';
           $mysql['user']  = 'root';
           $mysql['port']  =  3306;
           $mysql['name']  = 'new_users';

           $mysql['link']  = mysql_connect($mysql['host'],$mysql['user'],$mysql['pass']);
           if (!$mysql['link']) die(mysql_error());
           @mysql_query("SET NAMES cp1251");

           $mysql['temp']  = mysql_select_db($mysql['name']);
           if (!$mysql['temp']) die(mysql_error());

           $query = "SELECT * FROM `users` WHERE `name` = '".$_SESSION['fname']."' AND `admin` = '1'"; // здесь ошибка Notice: Undefined index: fname in
           $result = mysql_query($query);
           $isadmin = mysql_num_rows($result);

    if(!$_SESSION['fname']) //  и здесь ошибка Notice: Undefined index: fname in
    {
    ?>
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Дек. 17, 2009, 1:08 п.п., спустя 2 минуты 44 секунды

    значит что в массиве $_SESSION нету элемента с ключом fname
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz Дек. 17, 2009, 1:14 п.п., спустя 5 минут 43 секунды

    echo $query сделай и посмотри правильно ли формируется запрос
  • PyMbIH

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz Дек. 17, 2009, 1:18 п.п., спустя 4 минуты 41 секунду

    echo $query;
    выдает такое:
    SELECT * FROM `users` WHERE `name` = '' AND `admin` = '1'
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz Дек. 17, 2009, 1:34 п.п., спустя 15 минут 57 секунд

    Значит NRG тебе правильно ответил $_SESSION['fname'] пустой.
    Спустя 77 сек.
    ты почитай как отлаживать код…

Пожалуйста, авторизуйтесь, чтобы написать комментарий!