アプリ版:「スタンプのみでお礼する」機能のリリースについて

<form>タグの中にあるsubmitボタンをクリックすると、post先の.phpに、$_SESSION['submit']変数が自動生成されると聞いたので、テストプログラムを作ってみましたが、自動生成されません。
具体的には、test02.phpのprint_r($_SESSION);において、何も表示されません。
つまり、$_SESSION['submit']が作られていません。
詳しい方、ご教授をおねがいします。

test01.phpのソース

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>test01</title>
</head>
<body>

<?php
print <<< EOH1
<form action="test02.php" method="post" name="form1">
<table>
<tr>
<td>会社名</td>
<td>
<input type="text" name="company" size="30" value="東京電気株式会社">
</td>
</tr>
</table>
<br>
<input type="submit" value="登録" name="submit"><input type="reset">
</form>
EOH1;
?>

</body>
</html>

test02.phpのソース


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>test02</title>
</head>
<body>

<?php
print_r($_SESSION);

if(isset($_SESSION['submit'])) {
dispRequest();
}

if(isset($_SESSION['submit'])) {
unset($_SESSION['submit']);
session_unset();
session_write_close();
}

function dispRequest() {
if (isset($_REQUEST['company'])) {
echo "会社名:", $_REQUEST['company'], "<br>\n";
} else {
echo "companyが未定義<br>\n";
}
}
?>

</body>
</html>

A 回答 (3件)

こんにちは。



自動生成されるのって$_POST['submit']ではないでしょうか。
(ボタンのvalueが入る)

ちがっていたらすみません。
    • good
    • 0
この回答へのお礼

たしかにその通りでした。詳しい人によく話を聞いたら、自分で($_SESSION['submit']を初期設定するとの事でした。お騒がせしました。

お礼日時:2012/07/06 08:14

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<?php
session_start();

なぜsession_start()より前にブラウザに返すテキストがあるのでしょうか?

http://php.net/manual/ja/function.session-start. …
注意:
クッキーに基づくセッションを使用している場合、ブラウザに何か出力を行う前に session_start() をコールする必要があります。
    • good
    • 0
この回答へのお礼

私のコーディングミスでした。お騒がせしました。

お礼日時:2012/07/06 08:13

なにかライブラリをインクルードしないといけないのでは?

    • good
    • 0
この回答へのお礼

詳しい人によく話を聞いたら、自分で($_SESSION['submit']を初期設定するとの事でした。お騒がせしました。

お礼日時:2012/07/06 08:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!