PHP存储变量跨多个表单提交

时间:2015-09-02 20:32:49

标签: php html forms

编辑:问题有一个简单的答案:$ _SESSION变量。感谢RiggsFolly。

假设我想将用户数据保存到以后可以出于某种原因访问的变量,并且我需要该变量中的值在表单提交和页面刷新时保持不变。

在PHP中执行此操作的“最佳”(在这种情况下是最有效的)方法是什么?

以下是一个说明问题的代码示例:它包含三个用于提交数据,保存数据和加载数据的按钮。它不起作用,只是传达了这个想法。

<HTML>
<BODY>
<? 

    /* If Save Pressed --> Stored the value in a variable that will persist across successive submissions/refreshes*/
    if(isset($_GET['save'])){
        $_GET['saved'] = $_GET['value'];
    }

    /* If Submit Pressed -> Display the value entered in the text box next to Value:*/
    if(isset($_GET['submit'])){
        $loadedValue = $_GET['value'];
    }

    /* If Load Pressed -> Loads the previously stored value if there is one and displays it next to Value: */
    if(isset($_GET['load'])){
        $loadedValue = $_GET['saved'];
    }
?>
<form>
<!--  New Value Entry Field -->
<input type="text" name="value" >

<!-- Space Characters -->
&nbsp;&nbsp;&nbsp;          

<!-- Original Value Text -->
<u>Value:</u> <?= $loadedValue ?>   

<!-- Line Break Characters -->
<br><br>
<!-- Button To Change Values -->
<input type="submit" name="submit"value="Submit">   

<!-- Button To Save Values -->
<input type="submit" name="save"value="Save">   

<!-- Button To Load Values -->
<input type="submit" name="load"value="Load">   
</form>
</BODY>
</HTML>

2 个答案:

答案 0 :(得分:0)

您可以使用会话变量。 PHP: $_SESSION

我不知道您是否熟悉会话,但基本上是一个系统,可以识别您当前与服务器的连接,以便在该会话期间保持信息。

答案 1 :(得分:0)

就像duatis说的那样只是在页面顶部包含

之前
<?php session_start() ; ?>

然后使用以下

指定要为所有页面存储的变量
$_SESSION['variablename'] = $your variable ;

如果您想从另一个页面调用此变量,您还必须将其包含在页面顶部:

<?php session_start() ; ?>

然后你只需将变量用作

$_SESSION['variablename']