try4.html
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<title>カンタンアンケート</title>
</head>
<body>
<form action='try4-2.php' method='GET'>
性別:<br>
<input type="radio" name="gender" value=0>男性
<input type="radio" name="gender" value=1>女性<br><br>
趣味(複数選択可):<br>
<input type="checkbox" name="movies" value=1>映画
<input type="checkbox" name="music" value=1>音楽
<input type="checkbox" name="books" value=1>読書
<input type="checkbox" name="sports" value=1>スポーツ<br><br>
ご意見をお書きください:<br>
<textarea name="comment" rows="4" cols="40"></textarea><br><br>
<input type="submit" value="送信">
<input type="reset" value="リセット"><br><br>
</form>
</body>
</html>
//////////////////////////////////////////////////////
try4-1.php
<?php
session_start();
?>
<html>
<head><title>try4-1.php</title></head>
<body>
<?php
$_SESSION = array(total_cnt => 0, male => 0, female => 0, movies => 0, music => 0, books => 0, sports => 0, comment => array(""));
?>
////////////////////////////////////////////////////////////////
try4-2.php
<?php
session_start();
?>
<html>
<head><title>try4-2.php</title></head>
<body>
<?php
if ($_GET['gender'] == 0) ++$_SESSION['male'];
elseif ($_GET['gender'] == 1) ++$_SESSION['female'];
if ($_GET['movies']) ++$_SESSION['movies'];
if ($_GET['music']) ++$_SESSION['music'];
if ($_GET['books']) ++$_SESSION['books'];
if ($_GET['sports']) ++$_SESSION['sports'];
$_SESSION['comment'][] = $_GET['comment'];
++$_SESSION['total_cnt'];
?>
登録しました。さらに<A href="try4.html">入力する</A><br>
これまでの集計結果を<A href="try4-3.php">表示する</A><br>
</body>
</html>
//////////////////////////////////////////////////////////
try4-3.php
<?php
session_start();
?>
<html>
<head><title>try4-3.php</title></head>
<body>
<?php
echo "これまでにアンケートに応えたのは{$_SESSION['total_cnt']}人です。そのうち<br>";
if ($_SESSION['total_cnt']){
$male_rate = (int)($_SESSION['male'] / $_SESSION['total_cnt'] * 100);
$female_rate = (int)($_SESSION['female'] / $_SESSION['total_cnt'] * 100);
}
else {
$male_rate = 0;
$female_rate = 0;
}
echo "男性:{$_SESSION['male']}人 $male_rate %<br>";
echo "女性:{$_SESSION['female']}人 $female_rate %<br><br>";
echo "趣味は映画:{$_SESSION['movies']}人、音楽:{$_SESSION['music']}人、読書:{$_SESSION['books']}人、" .
"スポーツ:{$_SESSION['sports']}人<br><br>";
echo "意見:<br>";
foreach ($_SESSION['comment'] as $comment)
echo $comment . "<br>";
?>
集計を<A href="try4-1.php">初期化する</A><br>
さらに<A href="try4.html">入力する</A><br>
</body>
</html>
////////////////////////////////////////////////////////
とファイルが4つあるのですがセッション情報はどこに格納されているのでしょうか。TXTファイルでもなさそうなので教えて下さい。
No.3ベストアンサー
- 回答日時:
セッション情報はサーバ内にセッションID(クライアント側に配布されているID)と紐づけられて保管されています。
データの保管場所は session.save_path で指定されたところです。session.save_pathはphp.iniや.htaccess等で指定可能です。例えばLinuxの場合は/tmpや/var/lib/php5/sessionと言うような場所が初期設定されています。
データはsess_セッションIDのようなファイル名でhoge|a:6:{s:5:"login";i:1;s:3:"adm";}のような形で保管されています。セッションに登録されたデータがファイルとして自動的に保管されます。
セッションIDはURLに埋込まれてGET変数(sid=セッションID)で渡すか、クッキーに格納されるかのどちらかです。セッションIDはユニークキーが自動的に作成されて割り当てられます。
参考まで。
No.2
- 回答日時:
sessionにはセッションIDと実体の二つがあるのがキモです。
クライアントとサーバ間のやり取りでセッションIDをクッキーでやり取りし、
サーバ側はセッションIDを元に実体(値)を取り出します。
phpのディフォルトでは/var/lib/php/sessionあたりにファイルがあるかと思います。
php.iniのsession.save_pathを参照してください。
No.1
- 回答日時:
セッションは、クッキーかURLに埋め込みされます。
私も昔にやったことなのであまり詳しく正確にはかけませんが、上記のことは本当です。たしか、PHPには、セッションでクッキーを使うか使わないかをきめられる関数も存在したはずです。
http://oku.edu.mie-u.ac.jp/~okumura/php/session. …
Webで調べるといろいろとわかるとはおもいますが。。
がんばってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php ログイン 1 2022/11/01 00:24
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP session_destroyとsession...
-
$_SESSION 有効期限をブラウザ...
-
セッション機能が使えない
-
session_start();について
-
DOCOMOのセッションについて
-
GETでの変数の受け渡しについて
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
リンク先を隠す方法はないでし...
-
copy() で属性保存
-
onedrive にexcelファイルをア...
-
「クラス関数」「メンバ関数」...
-
別PHPファイルに変数を渡す
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
「@$変数」の「@の意味は?」
-
CFileDialogの最初のディレクト...
-
BASP21メール送信(SMTP-AUTH認...
-
htmlをphpにするにあたってデメ...
-
openCVの超解像処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP session_destroyとsession...
-
$_SESSION 有効期限をブラウザ...
-
jqueryの$.ajaxでPHPに値を渡し...
-
セッションファイルの場所
-
セッションのクッキー有効期間...
-
session_set_save_handler の実...
-
セッション部分のインクルード
-
リロード・ページビューの判定
-
phpのセッションについて
-
SESSIONを階層ごとに分けるには?
-
自動ログアウト
-
phpでのログアウトについて
-
「セッション管理用のクッキー...
-
PHPの引数を含んだURLについて
-
session_start();について
-
SESSION の受け渡し
-
PHPでのセッション管理について
-
セッションが変数が取得できません
-
session_start出来ません。
-
ログインしたページで、ある処...
おすすめ情報