1
私はハングマンゲームを作ろうとしています。それは正常にランダムな単語を選択しますが、送信ボタンが押されるたびに単語が変わります、どうすればこれを止めることができますか?私のコードは次のようになりますハングマンPHPが、私のサブミットが押されるたびに私の言葉が変わります。
<html>
<head>
<title> Hangman </title>
</head>
<body>
<h1> Hangman <h1>
<?php
session_start();
$maxAttempts = 6;
$letters = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
'p','q','r','s','t','u','v','w','x','y','z');
?>
<form name="lettersubmit" method="post" action="Hangman.php" >
<input name="letterguess" type= "text" value="">
<input name="submit" type="submit" value="Guess a Letter!"><br>
<p> Guesses Remaining <p>
<input name="triesRemaining" type="text" value="<?php print("$maxAttempts"); ?>">
</form>
<?php
$letterguess = $_POST["letterguess"];
if($letterguess= $word){
echo ("correct");
}
if(!isset($_POST["submit"])){
$words = array (
"giants",
"triangle",
"particle",
"birdhouse",
"minimum",
"flood",
);
}
if(isset($_POST["submit"])){
$maxAttempts--;
}
$word = $words[array_rand($words)];
echo $words[array_rand($words)];
?>
</body>
</html>
他の間違いが気になる場合は、それらを指摘してください。ありがとうZac
セッションを使用します。あなたはそれを始めましたが、単語をセッションに設定する必要があります - '$ _SESSION ['word'] = $ the_word;'そして '$ maxAttempts'をセッションにも保存してください。これは、PHPが実行時に評価されるため、スクリプトが1ページの読み込みごとに「再実行」されるためです。セッションの使用は破壊されるまでデータを保持します。 – Darren
これは、あなたが提出するたびにページを再読み込みすることです(コードがHangman.phpからのものであると仮定して)、あなたのPHPコードが再実行されます。とにかくあなたが[セッション](http://php.net/manual/en/reserved.variables.session.php)または何かにそれを格納しないためにあなたのコードが以前のランダムな単語を知ることができる方法はありません –