• Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, 2 коннекта потому, что pdo я не знаю и с тем кусочком мне помогли. Я пыталась сделать с его помощью [PDO], но у меня не вышло и я решила использовать проверенный метод. Я понимаю эту страницу и все, что на ней написано(кроме части с pdo, хотя я разобралась в том коде) потому что я сама его писала. Остальное.
    Да, все собрано по кусочкам. Потому что я начала писать на php месяц назад и я не разбираюсь в нем хорошо. Да, я читала документацию, но это мало чем помогает. Поэтому я спрашиваю людей. Я не спец, конечно, но мне кажется, что учатся именно так. Не думаю, что люди изначально пишут идеальный код.
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, все настолько плохо? Ну, я предполагала.. Я не хочу просить сделать. Я хочу разобраться и понять. Да, это курсовая.. Если Вы не против, помогите разобраться пожалуйста..~
    Это только эта страница такая, остальные лучше!
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Может быть он теряет $image, потому что по идее,я же нажимаю на кнопку и он уже не понимает. где ее[картинку] брать? Если так, то как это можно исправить?
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, До того, как я нажимаю на кнопку "Ззабронировать!" все выводится. А после - нет
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, 5ecbf751ce484187406175.jpeg
    Вот это пишет. Строка 15.. $image = 'book/'. $_GET['image']; // Получаем параметр GET, который передали
    Тут получает картинку, на которую я нажимаю и далее сравнивает ее с той, что в бд и выводит на страницу информацию об этой картинке.

    Вот весь код:

    <?php
    session_start();
    if (!isset($_SESSION['user'])) {
    header('Location: /');
    }
    
    
    include_once("header.php");
    ?>
    
    
    <?php
    require_once 'BDconnect.php'; // Подключаем БД из файла
    
    $image = 'book/'.$_GET['image']; // Получаем параметр GET, который передали
    
    // table - название Вашей таблицы
    $sql = "SELECT * FROM `book` WHERE `image`=:image"; // Ваш запрос в БД(поиск записи по id)
    
    $req = $dbh->prepare($sql);
    $req->bindValue(':image', $image, PDO::PARAM_STR); //Данные, которые передаёте в запрос
    $req->execute();
    $array = $req->fetch(PDO::FETCH_ASSOC); // Возвращаем значение.
    ?>
    
    
    <table style="margin-right: 700px; margin-top: 20px;" border='1' align="right" width="20%" cellpadding="28" cellspacing="0" >
    
    <?php
    
    
    require_once 'Connection.php';
    
    
    
    if (isset($_GET['res_id'])) { //проверяем, есть ли переменная
    $res_id = mysqli_real_escape_string($link, $_GET['res_id']);
    $result = mysqli_query($link, "SELECT id FROM `book` WHERE `id` = '$res_id'");
    $row = mysqli_fetch_array($result);
    $dir='';
    $_SESSION['user']['id'] ->id;
    var_dump($_SESSION);
    // строку из таблицы
    $sql = mysqli_query($link, "INSERT INTO `reservation`(`id_book`,`users_id`) VALUES ('$res_id', 'id')");
    var_dump($sql);
    if ($sql) {
    echo "<h2>Данные о книге добавлены.</h2>";
    } else {
    echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
    }
    ?>
    
    <form>
    <a href="#"><?= $_SESSION['user']['id'] ?></a>
    
    </form>
    
    <?php
    
    $sql = mysqli_query($link, 'SELECT `id`, `id_section`,`Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`FROM `book`');
    if($array) { // Выводим данные
    echo '<tr>' .
    "<td>№ секции <td>{$array['id_section']}</tr>".
    "<td>Название книги <td>{$array['Name']}</tr>".
    "<td>Автор <td>{$array['Author']}</tr>" .
    "<td>Издание <td>{$array['BookEdition']}</tr>".
    "<td>Год публикации <td>{$array['Yearofpublication']}</tr>" .
    "<td>Жанр <td>{$array['Jenre']}</tr>".
    "<td>Количество страниц <td>{$array['NumberofPages']}</tr>".
    "<td><a href='?res_id={$array['id']}'>Забронировать!</a></td>" .
    
    '</tr>';
    
    }
    
    echo '<img src=" Admin/'.$image.'"style=" margin-left: 400px; margin-top: 20px; width:400px;"; />';
    ?>
    
    
    
    </table>
    
    <?php
    include_once("footer.php");
    ?>

    все остальное работает
    if (isset($_GET['res_id'])) { //проверяем, есть ли переменная
    $res_id = mysqli_real_escape_string($link, $_GET['res_id']);
    $result = mysqli_query($link, "SELECT id FROM `book` WHERE `id` = '$res_id'");
    $row = mysqli_fetch_array($result);
    $dir='';
    $_SESSION['user']['id'] ->id;
    var_dump($_SESSION);
    // строку из таблицы
    $sql = mysqli_query($link, "INSERT INTO `reservation`(`id_book`,`users_id`) VALUES ('$res_id', 'id')");
    var_dump($sql);
    if ($sql) {
    echo "<h2>Данные о книге добавлены.</h2>";
    } else {
    echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
    }
    ?>
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, И можно еще вопрос. Меня перенаправляет куда-то, когда я нажимаю на кнопку. В адресной строке та же страница, но не показывается ни картинка ни информация о ней. Вот код. Если можно, поосмотрите пожалуйста тоже~~

    if (isset($_GET['res_id'])) { //проверяем, есть ли переменная
      $res_id = mysqli_real_escape_string($link, $_GET['res_id']);
      $result = mysqli_query($link, "SELECT id FROM `book` WHERE `id` = '$res_id'");
      $row = mysqli_fetch_array($result);
      $dir='';
      $date_today = date('d-m-Y');
      $time = strtotime("+1 month");
      $fecha = date("d-m-Y", $time);
      $users_id = $_SESSION['user']['id'];
        // строку из таблицы
        $sql = mysqli_query($link, "INSERT INTO `reservation`(`id_book`,`users_id`,`bookissuingdate`,`bookreturndate`) VALUES ('$res_id', '$users_id', '$date_today', '$fecha')");
        if ($sql) {
          echo "<h2>Данные о книге добавлены.</h2>";
        } else {
          echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
        }
    }
    print_r($_SESSION);
    
    ?>
    
    <form>
            <br><?= $_SESSION['user']['id'] ?></br>
        </form>
    
      <?php
    
        $sql = mysqli_query($link, 'SELECT `id`, `id_section`,`Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`FROM `book`');
        if($array) { // Выводим данные
          echo '<tr>' .
          "<td>№ секции <td>{$array['id_section']}</tr>".
          "<td>Название книги <td>{$array['Name']}</tr>".
          "<td>Автор <td>{$array['Author']}</tr>" .
          "<td>Издание <td>{$array['BookEdition']}</tr>".
          "<td>Год публикации <td>{$array['Yearofpublication']}</tr>" .
          "<td>Жанр <td>{$array['Jenre']}</tr>".
          "<td>Количество страниц <td>{$array['NumberofPages']}</tr>".
               "<td><a href='?res_id={$array['id']}'>Забронировать!</a></td>" .
    
               '</tr>';
               
        }
      
        echo '<img src=" Admin/'.$image.'"style=" margin-left: 400px; margin-top: 20px; width:400px;"; />';
      ?>


    Вот я нажимаю тут
    "<td><a href='?res_id={$array['id']}'>Забронировать!</a></td>" .

    Он отправляет id книги и перенаправляет на ту же страницу, но без данных. Почему?
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, У меня было. то же самое. раньше, но не работало. Сейчас работает. Это очень странно. Спасибо Вам большое
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, На странице в смысле. А в БД как занести теперь?
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, так, все. Он показывает id, если, например я пишу:
    <?= $_SESSION['user']['id'] ?>, он выводит id из таблицы..вроде
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, На странице профиля пишет id. Так. Я без понятия как я это сделала, но теперь пишет.
    Array ( [id] => [user] => Array ( [id] => 41 [full_name] => 123 [email] => nika_133@inb123ox.ru ) )

    Без понятия - потому что я ничего не сделала. Просто вставила print_r($_SESSION) на странице профиля, чтобы проверить пишет ли там, а потом удалила и все появилось.
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Если это не то, то я не понимаю, что Вы имеете ввиду. Простите:((
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP,
    $check_user = mysqli_query($connect, "SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'");
    if (mysqli_num_rows($check_user) > 0) {
    
        $user = mysqli_fetch_assoc($check_user);
    
        $_SESSION['user'] = [
            "id" => $user['id'],
            "full_name" => $user['full_name'],
            "email" => $user['email']
        ];


    вот этим оно разве не пишется?
    Конкретно этой строчкой
    "id" => $user['id'],
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Да, читаю. Я и сделала. Array ( [user] => Array ( [id] => [full_name] => 123 [email] => nika_133@inb123ox.ru ) [id] => ) Вот это написал
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Я еще раз почитала про сессии и поняла, что id самой сессии это не то, что мне нужно, мне нужно id пользователя. А этот id лежит в таблице users

    Я надеюсь, я понятно донесла мысль:)
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Так. Заново. У меня есть таблица users со следующими столбцами:
    id
    full_name
    login
    email
    password

    Есть таблица reservation со след. столбцами:
    id
    id_book
    users_id
    bookissuingdate
    bookreturndate

    Мне нужно, чтобы когда человек заходил под своим аккаунтом, код отслеживал сессию, искал в таблице users id этого пользователя и, при нажатии на кнопку "Забронировать!", записывал id пользователя в таблмцу reservation в стобец users_id.

    Я пыталась сделать это кодом выше и еще другими разными способами, но у меня не получается. Я прошу у Вас помощи разобраться с этим.
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Я спрашиваю не в какой переменной его получить, а как в целом получить id через сессию. Можете не смотреть на мой код, просто объясните пожалуйста, как передать и получить id сессии, чтобы потом вставить его в таблицу
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Ну, я увидела в другом похожем вопросе такое получение ($_SESSION['user']->id;) и решила попробовать использовать его. А то, что в form, это просто чтобы видеть id временно
  • Как записать id пользователя из $_SESSION в таблицу БД?

    @NekoAsame Автор вопроса
    FanatPHP, Здесь беда во вставляемых данных. Он не передает id сессии.Хотя ошибка и пишет это. Если подставить число, то все вставляется