$_POST['hoge']のデータをフラッシュするにはこんにちはゲストさん。value="送信"></form>データ送信してもフォーム内にデータが残るようにしたのですが、HTMLをこのままにして、PHPの方で$_POST['hoge']の中身を消去したいのですが、どのようにすればいいでしょうか?記入漏れの時にはそのデータが残り、すべてを記入してデータ送信後は再び何も書かれていない状態にしたいのです。できれば、Javascriptを使わないでやりたいと考えています。回答(4)ANo.4shimix>条件付きで決めたいのです。フォームに記入漏れがない場合は>送信してクリアし、記入漏れがある場合は送信しないで引き継ぐのです。「送信」という言葉はフォーム→スクリプトを指すのが普通なのですが、この場合はスクリプトからDBへのinsertなどのことですね。>(ちなみに、その入力データはそこで確認することができます。)というのは記入漏れがあった場合だけ確認可能ということですね。こちらも了解しました。#インタフェイスの良否は本題じゃないので、これまでにします。本題については、No.2のinu2さんの方法でOKだと思います。POSTされた値は「そのまま」では使わない(使えない・使うべきではない)でしょうしね。私の環境では、POSTの値はスクリプトの最後で削除しても、リロードされた後も残ってしまうようです。10:58:41お礼アドバイス、ありがとうございます。スクリプトが長くなってきて、変数を整理するのが難しくなってきました。(どの変数は引き継いでいて、どの変数は新規の値が入っているとか。(0)通報するANo.3shimix>記入漏れの時にはそのデータが残り、すべてを記入してデータ送信後は>再び何も書かれていない状態にしたいのです。>入力データを送信した後、OK画面を出すことなく、また同じ画面に戻る>ようになっています。>(ちなみに、その入力データはそこで確認することができます。)>ですから、$_POST['hoge']の値は(条件付きで)そのまま引き継がなく>てはいけないのです。結局、クリアしたいのですか?引き継ぐのですか?このインタフェイスでは記入漏れで受付不可だったのか、ちゃんと受け付けられたのか使用者には判断が出来にくいと思いますけど。クリアしたいのですか?引き継ぐのですか?条件付きで決めたいのです。フォームに記入漏れがない場合は送信してクリアし、記入漏れがある場合は送信しないで引き継ぐのです。このインタフェイスでは記入漏れで受付不可だったのか、ちゃんと受け付けられたのか使用者には判断が出来にくいと思いますけど。入力と出力が同じ画面にあると考えてください。使用者にはそれが受け付けられたということが送信後の画面(同一画面)でわかるわけです。/>';(formタグは省略しています)とかでいいんじゃないでしょか?スーパーグローバル(_POSTとか_GET)を操作することは基本的にしないほうが良いですよ。23:07:28お礼ご回答ありがとうございます。分かりませんが、(PHP内で)条件分岐をした後、その値($_POST['hoge'])を消してもまだどこかのキャッシュかメモリ媒体に残って読み込まれてしまうのです。スーパーグローバルを操作することは控えた方がよいとのことでした。理由はよく分かりませんが、ローカルな変数を使った方が分かりやすく安全ということでしょうか?今度ご指摘の通り、スーパーグローバルをローカル変数に置き換えた上で、その値を消して読み込んでみようと思います。(0)通報するANo.1shimix普通、POSTされたデータに不具合があって再入力の場合にはこういうhtmlを出力しますが、データOK→処理のあとは別のhtmlを返しませんか?入力フォームを再度返すと受け取られたのかどうかも不安ですし・・。unset($_POST)でもクリア出来るとは思います。21:43:02お礼ご回答ありがとうございます。入力データを送信した後、OK画面を出すことなく、また同じ画面に戻るようになっています。(ちなみに、その入力データはそこで確認することができます。)ですから、$_POST['hoge']の値は(条件付きで)そのまま引き継がなくてはいけないのです。$_POST['hoge']="";は試してみましたが、値はそのまま引き継がれてしまいました。unset($_POST)は知りませんでした。今度試してみたいと思います。入力フォームからデータを送信し、受け取ります。はじめまして、ASP初心者です。