0

PHP で小さなクイズを作成しました。これは、一連の yes/no の質問をし、最後に答えを教えてくれます。私はPHPセッションを使用しようとしています。たとえば、ユーザーがクイズの途中までしか進まない場合、ブラウザを閉じて再度開くと、離れたときと同じ質問になります。以下は、私が使用しているフォームの 1 つのコードです。

<div class='questions'>
  <form method ='GET' action='Creatures.php'>
    <input type='submit' name='answer$number' value='Yes' class='buttons' />
    <input type='submit' name='answer$number' value='No' class='buttons' />
  </form>
</div>

クイズを見たい場合は、s504518.brunelweb.net/Creatures.phpにアクセスしてください 。以前にセッションを使用したことがないため、これを行う方法がわかりません。助けていただければ幸いです。

4

2 に答える 2

3

ブラウザを閉じるとセッションが破棄されるため、PHP セッションを使用してこれを行うことはできません。

あなたが言及したことを達成するには、エンドユーザーの回答を Cookie に保存し、ページが最初に読み込まれたときにその存在を確認する必要があります。

http://php.net/manual/en/function.setcookie.phpをご覧ください。

于 2012-05-31T16:24:08.063 に答える
0

ユーザーが登録されている場合は、データベースに保存します。通常はそれが最善の策です。Cookie は機能しますが、問題が発生する可能性があります。

また、正しく読んだ場合、回答$numberは一重引用符で連結されません。次のいずれかになります。

echo " name='answer$number' "(二重引用符でエコー) またはecho 'name="answer'.$number.' " '(一重引用符でエコー)。これは質素ですが、誤解を招く可能性があります。ギャップを示すために引用符の間隔を空けましたが、これらは削除する必要があります。

私はデータベースが最も安全な方法だと信じています。U はいつでも Cookie を使用して、ユーザーを回答にリンクさせることができます。また、データベースは後で統計を提供します。これにより、ユーザーが何らかの理由で Cookie を紛失した場合でも、いつでもメール アドレスを入力して続行できます。

はい、ブラウザを閉じると、セッションは常に強制終了されます(確認のため)。

于 2012-06-27T16:06:12.443 に答える