【问题标题】:How to make flash input like flash sessions in PHP如何在 PHP 中进行 Flash 输入,如 Flash 会话
【发布时间】:2019-02-26 16:03:30
【问题描述】:

我想制作仅在您发布帖子时出现但在您重新加载页面或单击按钮后该按钮消失的按钮。该按钮应将您重定向到包含您的帖子的页面。我试图用 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;
  }

}

【问题讨论】:

  • $_SESION 不正确。是$_SESSION

标签: php sql session input


【解决方案1】:

我相信你应该做一个isset$_SESSION,而不是if(isset($_POST['error'])),即:

if(isset($_SESSION['error'])){
    echo($_SESSION['error']);
    unset($_SESSION['error']);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2017-01-30
    • 2014-10-11
    相关资源
    最近更新 更多