Как сделать флэш-ввод, как флэш-сессий в PHP - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу сделать кнопку, которая появляется только когда вы делаете сообщение, но после перезагрузки страницы или нажатия кнопки эта кнопка исчезает.Кнопка должна перенаправить вас на страницу с вашими сообщениями.Я пытался сделать это с SESSION, но это не сработало.Ребята, вы можете написать, как бы вы это сделали.РЕДАКТИРОВАТЬ: я исправил ошибку ввода, но ничего не отображается.

<?php
 session_start();
 include ('init.php');

 if(isset($_POST['error'])){
    echo($_SESSION['error']);
    unset($_SESSION['error']);
  }
if(isset($_POST['success'])){
   header('location: index.php');
 }

 if(isset($_POST['submit'])){
 $title = $Users->checkInput($_POST['title']);
 $text = $Users->checkInput($_POST['text']); 

 if($Post->postMessage($title,$text)){
    $_SESSION['error'] = '<input type="submit" name="success">'; /* Session with input i want to show only once */
    header('location: POST.php');
    return;
  }
}



 ?>
<html>
<head><title></title></head>
<body>
<form method='POST'>

Title: <input type="text" name="title">
Text: <input type="text" name="text">
    <input type="submit" name="submit">


 </form>
 <a href="index.php">Go back</a>
 </body>
 </html>

Это мой файл класса:

запись класса расширяет пользователей {

public function postMessage($title,$text){
    $sql = "INSERT INTO forum(title,text,date,forum_id) values(:title,:text,:date,:forum_id)";
    $stmt = $this->pdo->prepare($sql);
    $stmt->execute(array(
    ':title' => $title,
    ':text' => $text,
    ':date' => date('Y-m-d H:i:s'),
    ':forum_id' => $_SESSION['id']
    ));
    return true;
  }

}

1 Ответ

0 голосов
/ 22 сентября 2018

Я считаю, что вместо if(isset($_POST['error'])) вы должны сделать isset из $_SESSION, то есть:

if(isset($_SESSION['error'])){
    echo($_SESSION['error']);
    unset($_SESSION['error']);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...