私はPHPを学ぼうとしています。私は、数値が絶えず生成され、変更され、javascript変数に格納されているプロジェクトのWebサイトを持っています。ユーザーが[データベースに保存]ボタンを押したときにこれらの変数をデータベースに保存する場合を除いて、phpはほとんど含まれていません。今日、私はそのサイトを使用していて、別のWebサイトに移動して戻ったところ、最初にデータベースに保存していなかったため、すべてのデータが失われました。そのデータを保存して、ページを離れたときに再入力されるようにします。これを行うための最良の方法は何でしょうか?phpセッション、Cookie、またはjavascript Cookie?事前に感謝し、アドバイスしてください!
5 に答える
phpセッション、Cookie、またはjavascript Cookie?
セッションまたはCookieのいずれかがあるため、 3つではなく2つあります。
現在、セッションもCookieですが、ユーザーのマシンに保存される単純なJS Cookieとは異なり、サーバーに保存されます。
そのデータを保存して、ページを離れると再入力されるようにしたい
機密情報である場合は、常にデータベースを使用して保存し、機密データでない場合は、次のようにします。
- クッキーを使用するか、ユーザーが削除
localStorage
することができます - ユーザーが削除できないが、php.ini設定に基づいて期限切れになるセッションを使用する
一方、永続的に保存するには、代わりにデータベースを使用してください。
PHPとJavascriptのCookieは同じものであり、クライアント側に保存されたデータにすぎません。phpとjavascriptは、それらを保存するために使用されるテクノロジーであり、それ以上のものではありません。
PHP Cookieは、出力がページに送信される前にのみ設定できるため、 JavascriptCookieが最適であると思われます。
ページを離れると言ったため、セッションの代わりにCookieを使用します。その場合、セッションが終了し、データが失われます。
一部のデータを一時的に保存する場合は、セッションを使用します(1つのセッションの場合-ユーザーがブラウザーを閉じるまで)。
データをより長く保存したい場合(ログイン証明書など)はCookieを使用します。
また、セッションはサーバーに保存されますが、Cookieはクライアントのコンピューターに保存されるため、ユーザーは保存されたCookieの値を変更できますが、セッションは変更できません。
phpセッションはページの読み込みの間にのみ保存されるため、Cookieが必要な答えだと思います。そのため、データは既にサーバーに効果的に返送されており(必要なものではありません)、私が知る限り、javascriptCookieは単なるCookieセットです。 javascriptを使用します。
したがって、明確にするために、データが作成されるたびに(javascriptを使用して)Cookieを設定する必要があると思います-ユーザーが保存ボタンを押すまで、ブラウザにローカルに保存されます(まだかなり揮発性です)。サーバー。
長期間保存したいが、ユーザーが値を変更するかどうかは気にしない場合のPHPCookie。
ユーザーに値を変更する機能を持たせたくないが、長期保存を必要としない場合のPHPセッション(これはあなたが望むもののように聞こえます)
長期間保存し、ユーザーが値を変更できるようにしたくない場合は、セッションとCookieの両方。これでデータベースを使用して、データベースでCookie情報をチェックし、それが正しいかどうかを確認してから、簡単にアクセスできるようにデータをセッションに保存することをお勧めします。
これは、「ユーザーを記憶している」サイトの数です。ユーザー名とパスワードを含むCookieを保存し、ユーザーがサイトにアクセスすると(セッションが設定されていない場合)、データベースでユーザー名とパスワードを確認し、正しければ、そのユーザーに固有のセッションを作成します。