从一个html转到另一个html时保存值

save value when going from one html to another

本文关键字:html 另一个 保存 一个      更新时间:2024-01-01

我在html:上的textBox上有一个值

<input type="text" id="Key" name="Key" required />

然后我将操作发送到php,并从php:执行此操作

<?php
header("location:./setupDatos.html");//echo "2"; //first time activation
echo '<input type="text" value="' . $varKey. '" />';

问题是,如果我删除这条线

header("location:./setupDatos.html");//echo "2"; //first time activation

它显示了一个空白页面,其中包含我发送到php的密钥(正如预期的那样)但是对于该行,它将变为新的html,并且发送的键的输入不存在。如何将该值从第一个html发送到下一个html?

HTTP协议是无状态的,这意味着它不能"记住"旧的post数据。但是,您可以使用会话来模拟状态。试着做一些类似的事情:

<?php
session_start();
$_SESSION["oldpostdata"] = $_POST;    
header("location:./setupDatos.html"); 

不确定这里的重点是什么。html页面通常无法进行任何服务器端处理。然而,如果它能够访问你的旧帖子数据,如:

设置Datos。"html"

<?php    
session_start();
$oldPostData = $_SESSION["oldPostData"];
unset($_SESSION["oldPostData"]); // To only "flash" the data and not have it persist
$id = $oldPostData["Key"]; // Probably

从这个问题中"转发"帖子数据的另一种方式:

<!DOCTYPE html>
<html>
    <body onload="document.forms[0].submit()">
        <form action="new-location.php" method="post">
            <?php foreach( $_POST as $key => $val ): ?>
                <input type="hidden" name="<?= htmlspecialchars($key, ENT_COMPAT, 'UTF-8') ?>" value="<?= htmlspecialchars($val, ENT_COMPAT, 'UTF-8') ?>">
            <?php endforeach; ?>
        </form>
    </body>
</html>