PHP - 如何存储变量状态?

时间:2015-12-09 04:23:43

标签: php

我正在学习php,而我很难找到答案。在我提交了必须再次调用该页面的表单后,如何保留变量? (奇怪的措辞?)我试图保留$ num_to_guess和$ num_tries。我按照我发现的指令将$ num_tries包含在html块中作为隐藏输入,但在提交表单后它仍然没有增加它。

如何在提交后保存$ num_to_guess AND $ num_tries?

join

3 个答案:

答案 0 :(得分:3)

您需要将这些设置为像这样的会话变量

session_start();
$_SESSION['guess'] = $num_to_guess;
$_SESSION['tries'] = $num_tries;

然后访问它们你会做...

session_start();
$guess = $_SESSION['guess'];
$tries = $_SESSION['tries'];

答案 1 :(得分:1)

如果我了解您的要求,那么您正在寻找$ _SESSION! $ _SESSION允许您在网站上的用户会话期间存储变量。会话通常设置为20分钟。全局$ _SESION变量基本上是您希望为用户保存的key =>值的关联数组。这应该可以帮到你。

查看over here了解详情。给它一个阅读。它为您提供了会议工作方式的简要介绍,以及一些示例。

答案 2 :(得分:1)

您需要使用会话。

在代码的第一行添加 session_start ,然后您可以使用超级全局 $ _ SESSION 来存储和检索数据。

会话的第一个请求必须初始化变量,后续请求可能会读取或更新它们。

<?php

// Start the session before sending any output to the browser
// This sets a cookie value that identifies the session
session_start();

// This ensures that the number to guess is only set once
if (!isset($_SESSION['number_to_guess'])) {
    $number_to_guess = $_SESSION['number_to_guess'] = rand(0,100);
}

// This ensures the number of tries is properly initialized
if (!isset($_SESSION['guesses'])) {
    $_SESSION['guesses'] = 0;
} else {
    // Increment guesses
    $_SESSION['guesses']++;
}