提交表单后,PHP Get变量消失了

时间:2018-09-03 02:52:01

标签: php get

我已经建立了一个微型博客,其中的ID喜欢编辑帖子。我通过将其ID传递到get变量中的edit脚本中来获取当前帖子。

这很好,因为我检查了它的设置是否正确,但是在提交表单后它消失了,并且我收到一条错误消息,提示注意:未定义的索引:路径中的post-id。”。

这是怎么回事?我试图通过几种不同的方法来弄清1-2小时,但是没有运气。

当前未对输入进行验证/清除,因为我只是对其进行测试,所以在输入正常工作时,我将确保输入的安全性。

用于编辑脚本的代码:

if(isset($_GET['post-id'])){
$post_id = $_GET['post-id'];

$sql = mysqli_query($link, "SELECT column FROM table WHERE id ='$post_id'");
if($sql){
    $obj = mysqli_fetch_object($sql);
} else {
    $msg = "Error: ".mysqli_error($link);
}

if($_SERVER['REQUEST_METHOD'] === 'POST'){
    if(isset($_POST['edit'])){
        $title = $_POST['title'];
        $content = $_POST['content'];

        $sql_update = mysqli_query($link, "UPDATE table SET title='$title', content='$content' WHERE id = '$post_id'");
        if($sql_update){
            $msg = "Your post is updated.";
        } else {
            $msg = "Couldnt update the post, error: ".mysqli_error($link);
        }
    }
  }
}

以下是带有php变量作为输入值的HTML,用于预览帖子内容

<h1>Edit post</h1>
<p><?php echo $msg; ?></p>
<form action="edit-post.php" method="POST">
<input type="text" name="title" value="<?php echo $obj->title; ?>">
<textarea name="content" cols="30" rows="10"><?php echo $obj->content; ?> 
</textarea>
<input type="submit" name="edit">
</form>

0 个答案:

没有答案