解決済み

フォームに入力したデータが消えてしまう

  • 困ってます
  • 質問No.7336621
  • 閲覧数141
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 85% (73/85)

フォームに入力された情報を、別のhtmlファイルに保存しているのですが、
フォームがあるページにアクセスするだけで、以前に保存していたデータが消去されていまいます。

原因が分からず悩んでいるのですが、何か解決策はありますか?


ソース

<body>
<dl>
<dt>テスト</dt>
<dd><input name="test" type="text" id="name" size="20" maxlength="20"/></dd>
<input type="submit" value="送信" />
</dl>
</body>
<?php
$test = $_POST['test'];

//ファイル
$file = "date/date.html";

//ファイル操作
$abc = fopen($file,"w");
flock($abc, LOCK_EX);
fputs($abc,$test);
flock($abc, LOCK_UN);
fclose($abc);
?>

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 54% (865/1589)

#form要素が提示されていないのですが(汗

>フォームがあるページにアクセスするだけで、以前に
>保存していたデータが消去されていまいます。

POSTされたデータがあるかどうかに関わらず(POSTデータのチェックをせずに)書き込み用にopenしていますから当然でしょう。書き込むデータ($test.。つまり$_POST['test'])は空文字列ですからね。

キチンとチェックしてから処理しましょう。お使いのバージョンでは問題ないようですが、最近のバージョンだと$_POST['test']の時点でundefined indexのNoticeになると思います。
お礼コメント
sasaki027

お礼率 85% (73/85)

問題点がよくわかり、解決することができました。
回答ありがとうございます。
投稿日時 - 2012-03-02 20:41:57
感謝経済
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ