За последние 24 часа нас посетили 8586 программистов и 438 роботов. Сейчас ищут 92 программиста ...

Авторизация php с помощью библиотеки redbeanphp

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

  1. mikkialien

    mikkialien Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте! Делаю авторизацию по видео
    Все получалось до момента вот этого:
    PHP:
    1. if( empty($errors) )
    2.     {
    3.         $user = R::dispense('users');
    4.         $user->join_date = time();
    5.         $user->login = $data['login'];
    6.         $user->email = $data['email'];
    7.         $user->password = $data['password'];
    8.         R::store( $user );
    9.      
    10.         echo '<div style="color: green;">Вы успешно зарегистрированы!</div>';
    11.         }else
    12.     {
    13.         echo '<div style="color: red;">'.array_shift($errors).'</div>
    14.        <hr>';
    15.      
    16.     }
    Автоматически поля не создаются, в бд создается только id. При попытке пройти авторизацию выдает HTTP 500 ERROR

    ОЧень нужна ваша помощь.
    ЕщеЮ если убрать эти поля
    PHP:
    1.       $user->login = $data['login'];
    2.         $user->email = $data['email'];
    3.         $user->password = $data['password'];
    То образуется время в базе данных.

    ПОЛНЫЙ ТЕКСТ:
    PHP:
    1. <?php
    2. require "db.php";
    3.  
    4. $data = $_POST;
    5. if( isset($data['do_signup']) )
    6. {
    7.  
    8.     $errors=array();
    9.     if(trim($data['login'])=='')
    10.     {
    11.         $errors[]='Введите логин!';
    12.     }
    13.     if(trim($data['email'])=='')
    14.     {
    15.         $errors[]='Введите email!';
    16.     }
    17.     if($data['password']=='')
    18.     {
    19.         $errors[]='Введите пароль!';
    20.     }
    21.     if($data['password_2']!=$data['password'])
    22.     {
    23.         $errors[]='Повторный пароль введен не верно';
    24.     }
    25.  
    26.     if( R::count('users',"login=?", array($data['login']))>0)
    27.     {
    28.         $errors[]='Пользователь с таким логином существует';
    29.     }
    30.  
    31.     if( R::count('users', "email= ?", array($data['emsil']))>0)
    32.     {
    33.         $errors[]='Пользователь с таким email существует';
    34.     }
    35.  
    36.     if( empty($errors) )
    37.     {
    38.         $user = R::dispense('users');
    39.         $user->join_date = time();
    40.         $user->login = $data['login'];
    41.         $user->email = $data['email'];
    42.         $user->password = $data['password'];
    43.         R::store( $user );
    44.      
    45.         echo '<div style="color: green;">Вы успешно зарегистрированы!</div>';
    46.         }else
    47.     {
    48.         echo '<div style="color: red;">'.array_shift($errors).'</div>
    49.        <hr>';
    50.      
    51.     }
    52. }
    53.  
    54. ?>
    55.  
    56. <form action="/signup.php" method="POST">
    57.  
    58. <p>
    59.     <p><strong>Ваш логин</strong></p>
    60.     <input type="text" name="login" value="<?php echo @$data['login']; ?>" >
    61. </p>
    62.  
    63. <p>
    64.     <p><strong>Ваш email</strong></p>
    65.     <input type="email" name="email" value="<?php echo @$data['email']; ?>" >
    66. </p>
    67.  
    68. <p>
    69.     <p><strong>Ваш пароль</strong></p>
    70.     <input type="password" name="password" >
    71. </p>
    72.  
    73. <p>
    74.     <p><strong>Повторите ваш пароль</strong></p>
    75.     <input type="password" name="password_2"  >
    76. </p>
    77.  
    78. <p>
    79. <button type="submit" name="do_signup">Зарегистрироваться</button>
    80. </p>
    81.  
    82.  
    83. </form>
     
    #1 mikkialien, 23 мар 2017
    Последнее редактирование модератором: 23 мар 2017
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.247
    Симпатии:
    1.708
    Адрес:
    Молдова, г.Кишинёв
    Найди видео урок где будет описано как поступать если происходит такая ошибка. Шутка. Читай книги, там с нуля расскажут, а не из середины.

    Ошибку 500 по идее выдаёт веб-сервер, посмотри его logs error чтобы узнать, проблема в веб-сервере или в PHP, если в PHP то включи у PHP вывод ошибок или чтобы он писал ошибки в файл, смотри у PHP для этого error_log настройку в php.ini например https://secure.php.net/manual/ru/errorfunc.configuration.php#ini.error-log
    --- Добавлено ---
    Ещё обязательно нужно изучить как самостоятельно искать и исправлять проблемы, когда даже нет ошибок от PHP, но что-то работает не так
    отладка/debug
    http://phpfaq.ru/debug
    https://netbeans.org/kb/docs/php/debugging_ru.html
    https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
     
  3. odp0

    odp0 Новичок

    С нами с:
    12 июл 2017
    Сообщения:
    1
    Симпатии:
    0
    А разве проблема не в том, что ты через join_date пытаешься указать дату регистрации в бд?