首页 > 解决方案 > 我有一个 PHP 表单,如何为输入字段指定当前 page_id 的值?

问题描述

我有一个 PHP 表单,其中有一个隐藏的输入字段。我需要它具有当前 page_id 的值,该值将转到我的 SQL 表中名为 page_id 的列中。

我的图像表:images = image_id, page_id, image_text, image_file; 我的页面表:pages = page_id, page_name;

我的页面 URL 示例:mywebsite/page.php?id=4

表格(page.php):

<form method="POST" action="page.php" enctype="multipart/form-data">
     <input type="hidden" name="page_id" value="<?php echo $page['page_id']; ?>">
        <div>
          <input type="file" name="image">
        </div>
        <div>
          <textarea 
            id="text" 
            cols="40" 
            rows="4" 
            name="image_text" 
            placeholder="Write something here.."></textarea>
        </div>
        <div> 
            <button type="submit" name="upload">POST</button>
        </div>
</form>

classes.php 文件:

class Page {
    public function fetch_all(){
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM pages");
        $query->execute();

        return $query->fetchAll();
    }    
    public function fetch_data($page_id) {
        global $pdo;

        $query = $pdo->prepare("SELECT * FROM pages WHERE page_id = ?");
        $query->bindValue(1, $page_id);
        $query->execute();

        return $query->fetch();
    }
}

使用我现在拥有的代码,它给了我一个随机的 page_id=6,不知道 6 来自哪里..

我想要什么:图像 page_id = 发布图像的页面的 page_id。

任何帮助表示赞赏!

标签: phphtmlsql

解决方案


$page你的表格上没有定义。

用于$_GET从 URL 中提取 id。

您的隐藏输入应更改为以下内容:

<input type="hidden" name="page_id" value="<?php echo $_GET['id'] ?>" />

推荐阅读