За последние 24 часа нас посетили 56754 программиста и 1750 роботов. Сейчас ищут 845 программистов ...

Проблемма с базой данных

Тема в разделе "PHP для новичков", создана пользователем bourdun, 2 апр 2020.

  1. bourdun

    bourdun Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    8
    Симпатии:
    0
    Понадобилось создать авторизацию и регистрацию, но как только я прописываю в php
    R::store($user); Выходит ошибка в файле rb.php
    Ошибка:

    Fatal error: Uncaught PDOException: Could not connect to database (headbuilder). in C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php:858 Stack trace: #0 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(684): RedBeanPHP\Driver\RPDO->connect() #1 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(882): RedBeanPHP\Driver\RPDO->runQuery('show tables', Array) #2 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(903): RedBeanPHP\Driver\RPDO->GetAll('show tables', Array) #3 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(3488): RedBeanPHP\Driver\RPDO->GetCol('show tables', Array) #4 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(5677): RedBeanPHP\Adapter\DBAdapter->getCol('show tables') #5 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(5017): RedBeanPHP\QueryWriter\MySQL->getTables() #6 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(7406): RedBeanPHP\QueryWriter\AQueryWriter->tableExists('users') #7 C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php(7504): RedBeanPHP\Repository->tab in C:\Users\User\Desktop\OSPanel\domains\PHP\libs\rb.php on line 858
    Код:
    <!doctype html>
    <html lang="en">
    <head>

    </head>
    <body>
    <?php
    require "includes/db.php"
    ?>
    <?php
    $data =$_POST;
    if(isset($data['do_signup']) )
    {
    //здесь регистрируем
    $errors = array();
    if(trim($data['login']) == '' )
    {
    $errors[] = 'Введите логин!';
    }

    if(trim($data['email']) == '' )
    {
    $errors[] = 'Введите Email!';
    }

    if( $data['password'] == '' )
    {
    $errors[] = 'Введите пароль!';
    }
    if( $data['password_2'] != $data['password'] )
    {
    $errors[] = 'Повторный пароль введён не верно!';
    }
    if( empty($errors) ){
    // всё хорошо, регистрируем
    $user = R::dispense('users');
    $user->login = $data['login'];
    $user->email = $data['email'];
    $user->password = $data['password'];
    R::store($user);
    echo '<div style="color: green">.array_shift($errors).Вы успешно зарегестрированы!</div><hr>';
    } else
    {
    echo '<div style="color:#ff0000">'.array_shift($errors).'</div><hr>';
    }

    }
    ?>
    <form action="signup.php" method="POST">
    <p><strong>Ваш логин</strong></p>
    <input type="text" name="login" value="<?php echo @$data['login'];?>">
    </p>
    <p><strong>Ваш Email</strong></p>
    <input type="email" name="email" value="<?php echo @$data['email'];?>">
    </p>
    <p><strong>Ваш Пароль</strong></p>
    <input type="password" name="password" value="<?php echo @$data['password '];?>">
    </p>
    <p><strong>Введите ваш пароль еще раз</strong></p>
    <input type="password" name="password_2" value="<?php echo @$data['password_2'];?>">
    </p>
    <p>
    <button type="submit" name="do_signup">
    Зарегестрироваться
    </button>
    </p>
    </form>

    </body>
    </html>
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну так всё же написано. Или неправильный логин/пароль к базе, или почему-то недоступен сервер MySQL
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Старайтесь не копировать чужой код динозавров с интернета. 8 по счету встречаю Пользователей с аналогичным кодом.
     
  4. bourdun

    bourdun Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    8
    Симпатии:
    0
    А как узнать пароль? у меня в phpmyadmin его нет, я просто пробел поставил
    --- Добавлено ---
    Я сам то абсолютно не знаю php, просто нужно сделать регистрацию/авторизацию подключенную к базе данных
     
  5. qdevelopment

    qdevelopment Новичок

    С нами с:
    13 окт 2019
    Сообщения:
    41
    Симпатии:
    13
    Когда нет пароля, нужно не пробел ставить, а просто пустую строку.

    Но не факт, что данная проблема связана именно с паролем. Нужно смотреть как ты там подключаешься.
     
    bourdun нравится это.
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Раздел для новичков, которые что-то знают. Вам во фриланс или сделайте за меня.
     
  7. bourdun

    bourdun Новичок

    С нами с:
    2 апр 2020
    Сообщения:
    8
    Симпатии:
    0
    Вся проблема была в выставленном пробеле в подключении к базе данных, спасибо!