6

我正在制作一个简单的刽子手应用程序,我有我的 php 文件和一个单独的 .txt 文件,其中包含单词,每行一个。

我想要的是 $word 变量即使在页面刷新后也保持不变,因为我计划使用 GET 或 POST 来获取用户的输入。

在下面的示例代码中,我希望 $word 在表单提交后保持不变。我相信将代码移动到另一个地方是一件简单的事情,但我不知道在哪里对这个 PHP noob 有任何帮助!

wordsEn1.txt:

cat
dog

函数.php:

<?php

function choose_word($words) {
    return trim($words[array_rand($words)]);
}
?>

刽子手.php:

<?php
include('functions.php');

$handle = fopen('wordsEn1.txt', 'r');
$words = array();

while(!feof($handle)) {
$words[] = trim(fgets($handle));
}

$word = choose_word($words);

echo($word);
echo('<form><input type="text" name="guess"></form>');
?>
4

3 回答 3

11

使用会话:

session_start();   // in top of PHP file
...
$_SESSION["word"] = choose_word($words);

$_SESSION["word"]将在那里刷新

如果您关心“一生”,请遵循此(放在前面session_start

session_set_cookie_params(3600,"/");

它将为整个域(“/”)保留一个小时

于 2013-05-03T18:44:21.750 回答
1

您可以使用隐藏输入:

<form method="POST">
    <input type="text" />
    <input type="hidden" name="word" value="<?php echo $word; ?>" />
</form>

...在下一页:

if(isset($_POST['word'])) {
    echo $_POST['word'];
}

或者您可以使用 PHP $_COOKIE,它可以永远调用(但如果您只想在下一页上使用它,那就有点浪费了):

setcookie('word', $word, time()+3600, '/');

...在下一页:

echo $_COOKIE['word'];
于 2013-05-03T18:44:02.360 回答
0

只需为该问题使用隐藏类型表单。如果我们在页面刷新其隐藏时将其放入会话中。如果您可以将该值存储在隐藏的表单字段中,则它可以随时存储和检索。

于 2018-11-26T10:17:34.637 回答