ФорумПрограммированиеPHP для идиотов → Мой скрипт регистрации не работает, почему?

Мой скрипт регистрации не работает, почему?

  • code9

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

    Spritz 12 июля 2009 г. 16:06, спустя 23 минуты 10 секунд


    code9, проверил у себя с твоими запросами… все прекрасно работает Chikey и с бэктипсами тоже!
    и регистрирует и авторизирует?
  • adw0rd

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

    Spritz 12 июля 2009 г. 16:07, спустя 1 минуту 35 секунд

    code9, ты сделал так как я показал?
    adw/0
  • rider-sx

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

    Spritz 12 июля 2009 г. 16:08, спустя 29 секунд



    code9, проверил у себя с твоими запросами… все прекрасно работает Chikey и с бэктипсами тоже!
    и регистрирует и авторизирует?
    Код полностью выложи свой ПОЛНОСТЬЮ!!!
  • Chikey

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

    Spritz 13 июля 2009 г. 1:25, спустя 9 часов 16 минут 54 секунды

    CTAPbIu_MABP, объектный код в течении 5 минут? не, меня так еще не перло.
  • rider-sx

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

    Spritz 13 июля 2009 г. 3:57, спустя 2 часа 32 минуты 9 секунд

    Chikey, Все еще в переди ;)
  • code9

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

    Spritz 16 июля 2009 г. 13:23, спустя 3 дня 9 часов 25 минут

    Привет пыхари))свой скрипт реги и авторизации я наладил,но возникла овая проблема.Сессия.И делаю я вроде все правильно, только ничего не получается.При переходи на следующую страницу пользователь не распознается.Ниже привожу листинги


    avt.php

    <?
    session_start();
    include(&quot;connect.php&quot;);

    if(isset($_POST[&#39;submit&#39;]))
    {
    // Вытаскиваем из БД запись, у которой логин равняеться введенному
    $query = mysql_query(&quot;SELECT user_id, user_login, user_password FROM users WHERE user_login=&#39;&quot;.mysql_real_escape_string($_POST[&#39;login&#39;]).&quot;&#39; LIMIT 1&quot;);
    $data = mysql_fetch_assoc($query);

    // Сравниваем пароли
    if($data[&#39;user_password&#39;] === md5(md5($_POST[&#39;password&#39;])))
    {
    $_SESSION[&#39;user_login&#39;]=$data[&#39;user_login&#39;];
    $user=$_SESSION[&#39;user_login&#39;];
    echo &quot;Hello $user&quot;;
    }

    }
    echo &#39;
    <form method=&quot;POST&quot;>
    Логин <input name=&quot;login&quot; type=&quot;text&quot;><br>
    Пароль <input name=&quot;password&quot; type=&quot;password&quot;><br>
    <input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Войти&quot;>
    </form>&#39;;

    echo &#39;<a href=&quot;reg.php&quot;>reg<a/>&#39;;
    ?>



    reg.php

    <?
    //регистрация
    include(&quot;connect.php&quot;);

    if(isset($_POST[&#39;submit&#39;]))
    {
    $err = array();
    //проверка логина
    if(!preg_match(&quot;/^[a-zA-Z0-9]+$/&quot;,$_POST[&#39;login&#39;]))
    {
    $err[] = &quot;Логин может состоять только из букв английского алфавита и цифр&quot;;
    }

    if(strlen($_POST[&#39;login&#39;]) < 3 or strlen($_POST[&#39;login&#39;]) > 30)
    {
    $err[] = &quot;Логин должен быть не меньше 3-х символов и не больше 30&quot;;
    }

    //проверка на существования логина
    $query = mysql_query(&quot;SELECT COUNT(user_id) FROM users WHERE user_login=&#39;&quot;.mysql_real_escape_string($_POST[&#39;login&#39;]).&quot;&#39;&quot;);
    if(mysql_result($query, 0) > 0)
    {
    $err[] = &quot;Пользователь с таким логином уже существует в базе данных&quot;;
    }

    //Если нет ошибок, то добавляем в БД нового пользователя
    if(count($err) == 0)
    {

    $login = $_POST[&#39;login&#39;];

    # Убераем лишние пробелы и делаем двойное шифрование
    $password = md5(md5(trim($_POST[&#39;password&#39;])));

    mysql_query(&quot;INSERT INTO users SET user_login=&#39;&quot;.$login.&quot;&#39;, user_password=&#39;&quot;.$password.&quot;&#39;&quot;);
    header(&quot;Location: avt.php&quot;);
    exit();
    } else {
    echo &quot;<b>При регистрации произошли следующие ошибки:</b><br>&quot;;
    foreach($err AS $error)
    {
    echo $error.&quot;<br>&quot;;
    }
    }

    }
    ?>
    <form method=&quot;POST&quot;>
    Логин <input name=&quot;login&quot; type=&quot;text&quot;><br>
    Пароль <input name=&quot;password&quot; type=&quot;password&quot;><br>
    <input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Зарегистрироваться&quot;>
    </form>
    <?
    ?>


    вот такие листинги у меня получились,теперь к делу.
    Вот тут
    $_SESSION[&#39;user_login&#39;]=$data[&#39;user_login&#39;];
    $user=$_SESSION[&#39;user_login&#39;];
    echo &quot;Hello $user&quot;;



    вроде все пучком.Теперь если вам не сложно покажите как мне сделать,чтобы на другой странице пользователь был &quot;своим&quot;.
  • phpdude

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

    Spritz 16 июля 2009 г. 13:25, спустя 2 минуты 47 секунд

    session_start();

    надо писать на всех страницах где ты хочшеь работать с сессией
    Сапожник без сапог
  • code9

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

    Spritz 16 июля 2009 г. 13:33, спустя 7 минут 7 секунд

    ну я это знаю))

    session_start();
    if (isset($_SESSION[&#39;user_login&#39;])) {
       // показываем защищенные от гостей данные.
    $user=$_SESSION[&#39;user_login&#39;];

    }
    else {
       die(&#39;Доступ закрыт, даём ссылку на авторизацию.&#39;);
    }


    я вот это хотел узнать)) так прокатит?? ураа бля 0_o

    Только я не пойму,почему он у меняя имя юзера выводит с этим кодом? echo вродь тут нет
  • adw0rd

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

    Spritz 16 июля 2009 г. 13:43, спустя 10 минут 53 секунды

    code9, как оно выводится? Скрин давай
    adw/0
  • code9

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

    Spritz 16 июля 2009 г. 17:35, спустя 3 часа 51 минуту 18 секунд

    Нах тебе там скрин?Просто имя юзера выводится в области этого кода и все.
  • adw0rd

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

    Spritz 16 июля 2009 г. 17:39, спустя 4 минуты 5 секунд

    code9, какого кода? Как код выводится? Почему он выводится? Что ты под этим всем подразумеваешь?
    (самый простой вариант - показать визуально, т.е. скрин)
    adw/0
  • code9

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

    Spritz 17 июля 2009 г. 6:31, спустя 12 часов 51 минуту 46 секунд

    Вот мля))там у меня было echo юзер окзывается.А вот как мне теперь сделать, чтобы авторизированный юзер не видел поля имя и имя писалось из сессии?? Может в теории кто объяснит?Надеюсь нормально спросил
  • Trej Gun

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

    Spritz 17 июля 2009 г. 6:32, спустя 1 минуту 29 секунд

    //—————
    echo $user;
  • Troy

    Сообщения: 2533 Репутация: N Группа: Джедаи

    Spritz 17 июля 2009 г. 6:40, спустя 7 минут 27 секунд

    code9, что-то я не понял вопроса , что именно должно само заполнятся ?
  • code9

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

    Spritz 17 июля 2009 г. 6:59, спустя 19 минут 20 секунд


    code9, что-то я не понял вопроса , что именно должно само заполнятся ?

    Поле имя когда юзер авторизирован.И как убрать поле ввода? Оставить поле для сообщения, а поле ввода имени скрыть

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