6

私は単純な絞首刑執行人アプリケーションを作成しています.phpファイルと、各行に1つずつ単語を保持する個別の.txtファイルがあります。

私が欲しいのは、ユーザーの入力を取得するために GET または POST を使用することを計画していたので、ページが更新された後でも $word 変数が一定のままであることです。

以下のコード例では、フォームが送信された後も $word を同じままにしておきます。コードを別の場所に移動するのは簡単なことだと思いますが、この PHP 初心者の助けがどこにあるのかわかりません!

wordsEn1.txt:

cat
dog

functions.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,"/");

ドメイン全体で1 時間保持されます("/")

于 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 に答える