@imnotafraid

Как реализовать простейшую стену сообщений?

Я хочу реализовать стену сообщений пользователя, чтобы можно было писать какой-нибудь текст и он появлялся бы (и сохранялся желательно под этим аккаунтом -- регистрация и авторизация уже сделана)
Вот все, что я смог сделать.
У меня выводится только 1 сообщение. Понимаю почему, но как исправить - не знаю

Буду благодарен любым идеям и любой помощью. И нужно ли использовать здесь JS?
Как лучше все это сделать?

<?php
    session_start();
?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <a href="vendor/logout.php" class="logout">Выйти</a>
    <div class="container">
        <form class="msg-wall" method="post" action="vendor/wall.php">
            <p>
                Стена сообщений:
            </p>
            <input type="text" name="wall" placeholder="О чем вы думаете?">
            <button type="submit">Опубликовать</button>
            <?php
                if ($_SESSION['wall']) {
                    echo '<p class="msg">'.$_SESSION['wall'].'</p>';
                }
            ?>
        </form>
    </div>
</body>
</html>


vendor/wall.php:
<?php
    session_start();
    $message = $_POST['wall'];
    header('Location: ../profile.php');

    $_SESSION['wall'] = $message;

?>
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
@quitting
Junior php
Если через сессии хочешь)))) Тогда сохраняй все сообщения а не только одно. Например,
$message = $_SESSION['wall'][] = $message;
Это позволить сохранять все твои сообщения в масив $_POST['wall'];
Для того что-бы вывести:
if ($_SESSION['wall']) {
    foreach($_SESSION['wall'] as $message) {
        echo '<p class="msg">'. $message .'</p>';
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы