【问题标题】:How to send data and a user to a page with a link如何将数据和用户发送到带有链接的页面
【发布时间】:2016-04-08 04:39:07
【问题描述】:

有人告诉我,我可以将数据和用户发送到页面,而无需使用表单。基本上我拥有的是一个包含产品的页面(页面称为产品),然后是一个编辑按钮,当我单击它时,它会将我带到另一个名为“编辑产品”的页面,它允许我查看更多信息(输入) ,以便我可以编辑/添加有关该记录的信息。

我一直在使用表单执行此操作,并使用表单的操作属性将用户发送到那里。我想在产品页面上对当前表单的某些元素使用 AJAX,但我想完全删除表单代码。 (只是表单标签)。

这是我的代码:

    $stmt = $dbc->query("SELECT `id`,`first`,`last`,`product` FROM users");
    $stmt->setFetchMode(PDO::FETCH_ASSOC);

    while($row = $stmt->fetch()) {
    ?>
    <form method="POST" action="edit-product">
        <tr>
            <td><?php echo $row['id'];?>"</td>
            <td><?php echo $row['first'];?></td>
            <td><?php echo $row['last'];?></td>
            <td><?php echo $row['product'];?></td>
            <input name="id" type="hidden" value="<?php echo $row['id'];?>" readonly>
            <input name="first" type="hidden" value="<?php echo $row['first'];?>">
            <input name="last" type="hidden" value="<?php echo $row['last'];?>">
            <input name="product" type="hidden" value="<?php echo $row['product'];?>">
            <td><input name="save" type="submit" value="Save"></td>
            <td><div class="delete-class" name="delete" id="<?php echo $row['id']; ?>">Delete</div></td>
            <td><input name="edit" type="submit" value="Edit"></td>
        </tr>
    </form>
    <?php } ?>
    </tbody>
</table>

目前,在我的编辑产品页面中,我收到如下数据:

$id = $_POST['id'];
$first = $_POST['first'];
$last = $_POST['last'];
$product = $_POST['product'];

如何通过更改此代码或任何其他代码将用户和产品数据发送到编辑产品页面?

<td><input name="edit" type="submit" value="Edit"></td>

【问题讨论】:

    标签: php html ajax forms


    【解决方案1】:

    您可以使用 HTML localStorage 来存储表单的值,并在用户进入下一页/站点后在本地检索它们。无需服务器端数据传输。

    localStorage 的实现示例。

    // Save data to the current local store
    localStorage.setItem("username", "John");
    
    // Access some stored data
    alert( "username = " + localStorage.getItem("username"));
    

    您也可以以相同的方式使用 sessionStorage - 但数据只会在您关闭浏览器或导航离开页面之前存储。

    【讨论】:

    • 从现在开始,我不希望它成为一种形式。我将使用相当数量的 AJAX 来处理不能很好地处理表单的不同功能。
    • 不一定是表格。您可以将页面上任何来源的数据存储在 localStorage 中。您也可以根据需要进行 AJAX 查询 - 但如果您不想在页面更改时执行 AJAX - localStorage 是在客户端处理临时数据存储的绝佳替代方案(而且速度更快)。
    猜你喜欢
    • 2023-03-29
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2014-01-05
    • 2011-03-11
    相关资源
    最近更新 更多