ボタンをクリックするたびにセッションの数を増やしたいと思っています。問題は、それを増やすことができないということです。いつも同じ値を得ているようです。スクリプトは以下の通りです。セッションを使用して何かの数を増やすには?
$no = 1;
session_start();
session_register("sess_id");
$_SESSION['sess_id'][]=$no;
$no++;
ボタンをクリックするたびにセッションの数を増やしたいと思っています。問題は、それを増やすことができないということです。いつも同じ値を得ているようです。スクリプトは以下の通りです。セッションを使用して何かの数を増やすには?
$no = 1;
session_start();
session_register("sess_id");
$_SESSION['sess_id'][]=$no;
$no++;
あなたの質問は少しあいまいですが、私はあなたがの線に沿って何かを探していると思う:
session_start();
if (isset($_SESSION['number'])) { /* If there is already a value set */
$_SESSION['number']++; /* Increment by 1 */
}
else { /* If there is no value set, ie the user is clicking the button for the first time */
$_SESSION['number'] = 1; /* Set to 1 */
}
は、PHPのよう推奨されていません5.3.0
<?php
session_start();
$_SESSION['count']=(isset($_SESSION['count']))?$_SESSION['count']+1:0;
?>
とても悲しい、それはまったくincreseではない:S – Alex
主な問題は、変数を増分する方法です。 PHPはデフォルトで変数を参照で代入するわけではないので、$_SESSION['sess_id'][] = $no;
は実際には(変数を整数として索引付けするだけでなく)値で代入しています。その後の$n++
コールは、PHPセッションに保存されている値を変更しません。
あなたが欲しいと思うのは、assign by referenceです。
$no = 1;
session_start();
$_SESSION['your_session_var_name'] =& $no; // value is '1'
$no++; // $no is now '2'
echo $_SESSION['your_session_var_name']; // outputs '2'
それは動作しません....私は10回でそれをクリックしても、値はまだ1.とincresingはありません。 – Alex
新しいセッションを開始すると、すべてのセッション変数は空(設定されていません)です。
session_start();
if (FALSE === isset($_SESSION['no']))
{
# session is new
$_SESSION['no'] = 1;
}
else
{
# session already exists
$_SESSION['no']++;
}
あなたがどうかをテストするためにisset
Docs言語構造を使用することができます。あなたがそれらのいずれかをインクリメントしたい場合は、それが存在する - またはそれが存在する場合(要求を以下)しなかった場合、あなたはそれをインクリメントそれを最初に作成する必要があります変数が設定されているかどうか。設定されていない場合(FALSE
)、セッション変数は値1
で初期化されます。
存在する場合は、セッション変数が++
operatorDocsでインクリメントされます。
これはセッションIDとは無関係であることに注意してください。あなたの質問がセッションIDを変更または設定する必要はありません.PHPがこれを行います。あなたはセッション変数が、いくつかの他の変数をインクリメントしていない
ええ、ときどき私はコンピュータを投げたいだけですが、私は幸せです。 – Alex
);
私は、これはあなたがよりよいこの作品なぜあなたは見当もつかないあなたはその上のコメントで書いたように扱っているかを理解するのに役立ちます願っています。代わりにセッション変数をインクリメントしてください。 – hakre
これを行うにはどうすればいいですか?見せてください。 – Alex
私は[回答を追加](http://stackoverflow.com/a/9062124/367456)にいくつかの説明とリンクを追加しました。 – hakre