私はphpaddを使って絞首刑執行人のゲームを作ろうとしていましたが、すべてが機能するようになりました。推測が足りなくなっても、fail.phpにリダイレクトされないことを実行してください。奇妙なことは、あなたが勝った場合にリダイレクトするということです。何が悪いのかわかりません。これは私のquess_letter.phpファイルです。
<?php
ob_start();
$letter = $_POST['letter'];
if (preg_match('/^[a-zA-Z]$/', $letter)) {
$guesses = intval(substr($_COOKIE['hangman'], 0, 1));
$word = explode(" ", $_COOKIE['hangman_word']);
if (!strpos($_COOKIE['hangman_word'], $letter) && $letter != substr($_COOKIE['hangman_word'], 0, 1)) {
$guesses -= 1;
if ($guesses == 0) {
header("location: fail.php");
}
}
$i = 0;
foreach(str_split($word[0]) as $l) {
if ($l == $letter) {
$word[1][$i] = $l;
}
$i++;
}
$new_cookie = strval($guesses) . " " . substr($_COOKIE['hangman'], 1) . $letter . " ";
setcookie('hangman', $new_cookie, time() + 3600 * 24);
setcookie('hangman_word', "$word[0] $word[1]", time() + 3600 * 24);
if ($word[0] != $word[1]) {
header("location: index.php");
} else {
header("location: win.php");
}
} else {
header("location: index.php?error=true");
}
?>
これはファイル全体です。$guessesが0に等しい場合にリダイレクトすることになっています。リダイレクトの前に何も出力されません。私はそれを調査しましたが、答えはどれもうまくいきませんでした。誰かが何が悪いのか説明できますか?ありがとう