PHP-存储输入变量以供静态重用


PHP - store input variable for static reuse

有一些输入,还有一个函数。该功能需要这些输入,并且这些输入是用户给定的。但是,启动该功能的按钮和输入提交表单是两个不同的按钮。因此,当用户按下"submit"来存储他的变量时,变量存储得很好。但是,当他按下"计算"按钮(触发函数)时,php会说"undefined index",因为它会一次又一次地读取该输入的$_POST

如果我禁用register_globals,它不会显示"undefined index",但这些值再次为0。

如果我使用另一个文件来存储这些值,然后重定向回函数按钮所在的页面,则会出现重定向循环,require_once不起作用。

如何存储输入,使其可以在函数中一次又一次地使用?没有数据库,我需要一种将它们存储在变量中的方法。

编辑:表单:<label for="asdf">enter value:</label> <input type="text" id="asdf" name="asdf" value="<?php echo $asdf;?>" />

存储所述值:$asdf=$_POST['asdf'];

然后我需要用用户通过html表单给出的更新值在函数中写入$asdf。如何做到这一点?再简单不过了

我会将它们存储在会话中。这样,它们可以跨php脚本使用,但不会长期存储。这里有一个例子:

form.php

<?php
    session_start();
?>
<html>
<body>
<form action="store.php">
    <input type="text" name="x" value="<?php echo $_SESSION['x'] ?>">
    <input type="text" name="y" value="<?php echo $_SESSION['y'] ?>">
    <input type="submit" value="Submit">
</form>

<form action="calculate.php">
    <input type="submit" value="Submit">
</form>
</body>
</html>

store.php

<?php
  // Start the session
  session_start();
  $_SESSION["x"] = $_POST['x']; // substitute your input here
  $_SESSION["y"] = $_POST['y']; // substitute your input here
?>

calculate.php

<?php
  // Start the session
  session_start();
  $result = $_SESSION["x"] * $_SESSION["y"];
  echo $result;
?>

没有办法将它们存储在变量中。对服务器的每个请求都是一个新请求。您可以将变量存储在cookie/会话中,或者在按下第一个按钮后将其返回,并将其存储在html表单的隐藏字段中。或者将其存储到服务器上的文件中。