Php 如何在页面刷新后记住输入字段的值?
我想做一个简单的文字游戏。 这个想法是用户点击一个按钮,服务器生成一个字母并将其存储在一个数组中,这个过程重复十次(我下面使用的临时解决方法是一次生成所有11个字母)。 现在,用户从所选字母中找出他/她能说出的最长单词,并 然后用户提交单词,计算机检查单词是否在字典中,如果在字典中,它会说“成功”,如果没有,它会说“xzy单词没有出现在我们的字典中” 我不是在寻找所有的检查和安全检查,只是这样 a) 当用户单击按钮时,计算机将字母存储在一个数组中 b) 计算机检查用户提交的单词是否在预定义词典中(在单独的.txt文件中) 我现在遇到的问题是,每次单击该按钮,我的所有数组都会被覆盖 要么是新字母,要么就是空的。 我怀疑提交的行为会重置一切,但我似乎无法让程序记住 选择了哪些字母,但不检查我的字典中是否存在该单词。 一个人怎样才能永久地储存东西呢? 代码如下Php 如何在页面刷新后记住输入字段的值?,php,Php,我想做一个简单的文字游戏。 这个想法是用户点击一个按钮,服务器生成一个字母并将其存储在一个数组中,这个过程重复十次(我下面使用的临时解决方法是一次生成所有11个字母)。 现在,用户从所选字母中找出他/她能说出的最长单词,并 然后用户提交单词,计算机检查单词是否在字典中,如果在字典中,它会说“成功”,如果没有,它会说“xzy单词没有出现在我们的字典中” 我不是在寻找所有的检查和安全检查,只是这样 a) 当用户单击按钮时,计算机将字母存储在一个数组中 b) 计算机检查用户提交的单词是否在预定义词典中
<?php
//the array to chose letters from (possible letters)
$PosLetters = [
'a','b','v','g','d',
'đ','e','ž','z','i',
'j','k','l','lj','m',
'n','nj','o','p','r',
's','t','ć','u','f',
'h','c','č','dž','š'
];
//generate 11 letters user can chose from
if (isset($_POST['choose'])) {
for ($i=0; $i < 11; $i++) {
$Rndnumber = mt_rand(0,29);
$Convert = $PosLetters[$Rndnumber];
$Letters[] = $Convert;
}
}
//function that does the check wether user submited word is in my dictionary
function loadFromfile(){
if (isset($_POST['submitword'])) {
//load all the words from file
$vocab = file('http://localhost/igra_slaganje_reci_php/recnik.txt');
//check if user submited word is in the dictionary
if (!empty($_POST['yourword'])) {
$jki = in_array($_POST['yourword'], $vocab);
if ($jki == true) {
echo 'Success';
}else{
echo $_POST['yourword'] . ' doesn't appear in our dictionary.';
}
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
span {
min-width: 50px;
padding: 15px;
margin-right: 15px;
border: 3px solid red;
font-size: 25px;
}
</style>
</head>
<body>
<form method="post">
<input type="submit" name="choose" value="odaberi slovo">
</form>
<div class="letters">
<?php
//put chosen letters each into it's own span
foreach ($Letters as $key => $value) {
echo '<span>' . $value . '</span>';
}
?>
</div>
<div class="subbmitedword">
<form method="post">
<input type="text" name="yourword">
<input type="submit" name="submitword" value="submit word">
</form>
<?php
loadFromfile();
?>
</div>
</body>
</html>
您可以在$\u会话中存储$PosLetters。 然后,每次页面刷新时,您首先从会话中读取数组,然后再继续。