0

私は 3 ページの Web サイトを持っていますが、各ページにはデータベースから動的に表示される記事があり、それぞれに特定の記事がありますarticle_id (int)。各表示のコメントをarticle_idうまく作成するためにarticle_id、コメント$_SESSIONをデシベル。

私の問題は、さらに多くの記事を$SESSION作成することであり、記事/コメントごとに、将来的に互いに干渉したり、誤動作したりすることはありませんか?

ありがとう

SESSION が必要な問題

http://www.stackoverflow.com/questions/10486305/variable-returning-0-instead-of-an-actual-value/10486418#comment13552062_10486418

4

3 に答える 3

0

コメントフォームで、非表示の入力を行います。

<input type="hidden" name="article_id" value = "<?php echo $row['article_id'];?>"/>

これ$row['article_id']は、記事の表示に使用したクエリから取得されます。

次に、フォームを送信すると、記事の ID が に表示され$_POST['article_id']ます。次に、Insertそれらの値を入力するクエリを使用します。

このアプローチでは、必要なセッション変数は 1 つだけです。すなわち$_SESSION['username']

于 2012-05-08T10:57:40.927 に答える
0

それはあなたの質問には答えませんが、あなたが対処すべき方法は次のとおりです。

コメントを投稿するときに必要article_idであり、記事がデータベースから取得されているためです。取得中に、次のような非表示の入力フィールドを作成します

<input type="hidden" name="article_id" value="<?php //article_id  ?>"/>

コメントを送信する際に、この非表示フィールドをコメント フォーム内に配置すると、article_id.

更新:
何をいつ使用するかを決定する方法は次のとおりです。

a)あるページから別のページに値を含む変数を送信して、それらの間の状態を維持する必要がある場合。たとえば、あるページに記事のチャンクを表示していて、ユーザーがクリックしたときにread more...、コメントセクションを含む完全な記事を表示したいとします。その場合は、おそらくここでアンカー タグを使用する必要があります。たとえば<a href="articledetail.php?id=2">Read More...</a>articledetail.phpページでは、php を使用$_GETして配列内の URL を取得できます。この場合、値は$_GET['id'] = 1

b)セッションは、上記のような状態を維持するためではなく、アプリケーション全体でアクセスできる必要がある場合にのみ使用します (このケースは AJAX ベースのページには適用されません)。たとえば、セッションを使用して、ユーザーがログインしているかどうかを確認したり、ユーザー ID、ユーザー名などのユーザー情報を保存したりする必要があります。論理的にはユーザーはアプリケーションを閲覧するユーザーであり、アクセスする必要がある場合があるためです。ほとんどのページでユーザーに関連する情報。ここにSESSIONが合います。

c)データベースに挿入する<input type="hidden" name="article_id" value="<?php echo $_GET['id']; ?>"/> など、隠し値を送信する場合は、隠しフィールドを使用する必要があります。$_POST

これがお役に立てば幸いです。

于 2012-05-08T10:59:55.233 に答える
0

何百ものセッション変数があるか、セッションに何百バイトも保存しない限り。そうしないと、より多くのプロセッサが負荷を処理できます。

基本的に、php のデフォルトのセッション ハンドラは、セッション変数をセッションごとにファイルに保存します。セッション Cookie を含むリクエストが到着するたびにロードします。したがって、セッションが数ギガのデータを保存するために使用されている場合、すべてのページでロードされます。

于 2012-05-08T11:00:07.707 に答える