@selter_je

Как привязать сессию пользователя к публикации поста?

Всем привет! Как привязать сессию, авторизованного пользователя, к публикации его поста?
есть таблицы
users
и
wall_post
.
Условно говоря, id пользователя 16.

<?= $_SESSION['user']['id'] ?>

Процедура добавления поста в таблицу
wall_post

сам код:
<?php 
require_once 'vendor/connect.php';
$textuser = $_POST['textuser'];
        mysqli_query($connect, "INSERT INTO `wall_post` (`id`, `text_decor`) VALUES (NULL, '$textuser')");
        header('Location: ../feed.php');
?>


Сама форма отправки поста:
<script
  src="https://code.jquery.com/jquery-3.6.0.min.js"
  integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
  crossorigin="anonymous"></script>
  <div class="wrapper">
    <div class="input-box">
      <div class="tt-area">
        <textarea class="style_textarea" maxlength="200"  type="text" name="textuser" id="textuser" placeholder="Введите сюда ваш текст..."></textarea>
      </div>
    </div>
    <div class="bottom">
      <div class="content">
        <button type="submit" class="btn">Отправить</button>
      </div>
    </div>
  </div>
<script>
$(document).ready(function(){
  $('button.btn').on('click', function(){
    var placeholder = $('textarea.style_textarea').val();
$.ajax({
  method: "POST",
  url: "create_post.php",
  data: {textuser: placeholder}
})
.done(function(){

});
   $('textarea.style_textarea').val('');
})
});
</script>

При отправки поста отправляются данные в таблицу
wall_post
, но каждый раз с новым id и без привязки сессии пользователя.

Сама сессия пользователя при авторизации:
<?php

    session_start();
    require_once 'connect.php';

    $login = $_POST['login'];
    $password = md5($_POST['password']);

    $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'],
            "avatar" => $user['avatar'],
            "email" => $user['email'],
            "city" => $user['city']
        ];

        header('Location: ../feed.php');

    } else {
        $_SESSION['message'] = 'Неверный логин или пароль';
        header('Location: ../index.php');
    }
?>


Никак не пойму как и куда тыкать!
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
mysqli_query($connect, "INSERT INTO `wall_post` (`id`, `text_decor`) VALUES (:id, '$textuser')");


Отметь как решение)))

Ещё могу немного отредактировать код, можешь убрать поле id, так как у тебя стоит автоинкремент и он автоматически айди делает каким надо, то есть у тебя должно передаваться два параметра, текст и айди пользователя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы