有一些输入,还有一个功能。该功能需要这些输入,输入是用户给定的。但是,触发功能和输入提交表单的按钮是两个不同的按钮。因此,当用户按下" 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 [&#39; ASDF&#39;];
然后我需要在函数中使用用户通过html表单提供的更新值来编写$ asdf。怎么做?不能简单得多
答案 0 :(得分:1)
我会将它们存储在会话中。他们这样,他们可以跨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;
?>
答案 1 :(得分:0)
无法将它们存储在变量中。对您的服务器的每个请求都是一个新请求。 您可以将变量存储在cookie /会话中,或者在按下第一个按钮后将它们存回,并将它们存储在html表单的隐藏字段中。或者将它们存储在服务器上的文件中。