戻るボタンを使うとフォーム内容が消える問題の解決方法を教えてください

このQ&Aのポイント
  • qdmailを使用したPHPフォームで、receive.htmlから戻るボタンを使うとフォーム内容が消えてしまう問題が発生しています。具体的な解決方法を教えてください。
  • フォーム内容消失問題の解決方法を教えてください。qdmailを使ったPHPフォームで、receive.htmlから戻るボタンを使うとフォーム内容が全て消えてしまいます。sessionを使うという方法があるそうですが、具体的な使い方を教えてください。
  • receive.htmlから戻るボタンを使うと、フォーム内容が消えてしまう問題を解決したいです。どのようにすれば解決できるのでしょうか?qdmailを使用したPHPフォームでの対策方法を教えてください。
回答を見る
  • ベストアンサー

qdmailを使用したPHPフォームにて

qdmailを使ったPHPのフォームを作っています。 index.html → receive.html → completion.html という順序で展開します。 全ての処理は、completion.htmlに書かれています。 receive.htmlは、プレビュー画面です。 completion.phpの内容は、 (1)thank you 表示 (2)管理者へのフォーム内容メール送信 (3)送信者へ、thank youメールの送信 質問: receive.htmlから、戻るボタンを使うと、フォーム内容が全て消えてしまいます。 sessionを使うというのは、分かるのですが、具体的に分かりません。 index.htmlの内容は、以下です。 <?php session_start(); $_SESSION['mail_send_done'] = false; /* 入力パラメータ */ $param = array( 'zip', 'c_add', 'corp_or_indv', 'c_name', 'c_name_furigana', 'attending', 'name', 'name_furigana', 'tel1', 'tel2', 'tel3', 'fax1', 'fax2', 'fax3', 'mail', 'remail' ); if($_SERVER["REQUEST_METHOD"] == "POST"){ foreach($param as $key) { $$key = $_POST[$key]; } }else{ $$key = ""; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ・・・・・・・・・・・ receive.htmlは、以下で始まります。 ?php /* 入力パラメータ */ $param = array( 'zip', 'c_add', 'corp_or_indv', 'c_name', 'c_name_furigana', 'name', 'attending', 'name_furigana', 'tel1', 'tel2', 'tel3', 'fax1', 'fax2', 'fax3', 'mail', 'remail' ); if($_POST['corp_or_indv']=='A') { $INQ_TXT = "個人"; }elseif($_POST['corp_or_indv']=='B') { $INQ_TXT = "法人"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

receive.htmlでPOSTされたデータをセッション変数に格納したら、completion.htmlではセッション変数から呼び戻して利用しているんですよね? index.htmlでも同様に「セッション変数があれば」その内容を呼び出してinput要素のvalue属性に初期値として与えるだけです。 (例) <input type="text" name="name" value="<?= isset($_SESSION['name'])?$_SESSION['name']:""; ?>" />

oh-sit
質問者

お礼

shimixさん、有難う御座います。shimixさんをファン登録させて頂きました。 動かなかったのですが、私の理解度が低いからです。

関連するQ&A

  • phpのフォーム入力で

    phpの勉強初日なのですが、さっそくつまづいてしまいました。 買った本に沿って、簡単なフォーム入力のhtmlファイルと、 その処理のphpファイルを下記のように作ってみたのですが、上手く行きません。 htmlのフォームからのpostは出来ているようなのですが、 phpファイルがコールされると、phpファイルのソースがそのまま表示されてしまって、 postした文字列がechoされません。。。 初日でつまづいてしまっていきなり挫折しそうです。。。 どなたかお詳しい方、お教えいただけると幸いです。 ■input.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>input</title> </head> <body> <form action="inputphp.php" method="post"> <label for="my_name">お名前:</label> <input id="my_name" type="text" name="my_name" size="15" maxlengh="255" value=""/> <input type="submit" value="送信"/> </form> </body> </html> ■inputphp.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>inputphp.php</title> </head> <body> <?php print($_REQUEST['my_name']); ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHP 問い合わせフォームの文字化け

    はじめまして。 会員648です。 Websiteを作成し、問い合わせフォームで 入力をHTML、チェック・確認画面、送信をPHPで 作成しました。 初心者なので、サイトでの作成事例をまねております。また文字化けは UTF-8を書けば良い ということも サイトにあったので、とりあえずそうしました。 しかし 他のHTMLは正常に表示しますが、HTMLの入力画面、PHPチェック画面 すべて  文字化けします。 入力画面は <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <form method="post" action="check.php"> ですが 文字化け表示となります。 内容確認画面は check.php で <?php // フォームデータが空の場合は処理終了 if (empty($_POST)) { echo "処理終了"; exit; } // セッションの開始 session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> で始まります。 詳しくPHPを知りませんので、どこが問題なのか 教えていただけませんでしょうか。 なお、テスト環境は 自分のPCで Xampp をインストールして、htdocs 配下に すべての HTML, CSS, image,php を 置いております。 なにとぞ よろしくお願いいたします。

    • 締切済み
    • PHP
  • [PHPとHTML]リストボックスについて質問です。

    [PHPとHTML]リストボックスについて質問です。 ///////a.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>リストボックス</title> </head> <body> <form id="form1" name="form1" method="post" action="b.php"> <label> <select size="1" name="num" id="num"> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </label> </form> </body> </html> ///////b.php if ($_POST['num'] == "2" or $_POST['num'] == "3" or $_POST['num'] == "4") { ※↑ここの部分がエラーとなっています。 $num = $_POST['num']; echo "$num"; echo '<a href="a.php">戻る</a>'; } ラジオボタンを使っての判定条件の仕方はわかったのですが、 リストボックスについてはどうすればいいのかわかりません。 どうしたらいいか教えてもらえませんか?

    • ベストアンサー
    • PHP
  • zampp  PHPでPOSTの変数が返ってこない

    お世話になります。 PHPを最近はじめたばかりの初心者です。 zampp をインストールし、Apache、PHPの動作は問題なく動いています。 「sample.html」「sample.php」の2つファイルを作成し、 C:\xampp\htdocsに保存しました。 「sample.html」と「sample.php」は、ある本からサンプルコードです。 ------------------- 「sample.html」 ------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>フォームサンプル</h1> <form method="post" action="sample.php"> <input type="text" name="text1"> <input type="submit"> </form> </body> </html> ------------------- 「sample.php」 ------------------- <?php $str = $_POST['text1']; if ($str != ""){ $msg = "あなたは、「{$str}」って書いたね?"; } else { $msg = "何も書いてなかったよ?"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>結果表示</h1> <div><?php echo $msg; ?> </body> </html> ------------------------------------ htmlファイルをブラウザーで開き、submit(送信ボタン)を押すと、 text1に入力した文字が、返ってきて .phpに表示されなければならないのですが、 .phpでブラウザーに表示されるのは、上記のコードがそのまま表示されてしまいます。 (入力した文字も代入されずに、コードのまま表示されます) 上記のコードとは違う、htmlファイルとphpファイルで動作させても コードがそのまま表示されて、$_POSTがうまいきません。 原因が分からずに困っています。 ご教授いただけますよう何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでreadfile(include)した結果に?が出力される

    phpで以下のようなA,Bの2つのファイル構成にした際に ブラウザでAをアクセスし、ソースを表示するとreadfileした結果の前に「?」が出力されます。 「?」と出力されるのが何か問題だと思うのですが、分かりません。 ご指南をお願いいたします。 ?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> Aファイル <?php readfile('inc/xhtml.inc'); include('inc/dbcon.php'); include('inc/cm468_2.inc'); ?> ----------- Bファイル <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> -------------------------------- 出力結果 ?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

    • ベストアンサー
    • PHP
  • PHPのチェックボックスでforeachの警告出る

    UbuntuにXPMPPを入れてPHPの勉強してます。複数選択可能なチェックボックスの値を取得しようとしているのですが送信して受信側のページを開くと「Warning: Invalid argument supplied for foreach()」が出ます。正しく複数選択のチェックボックスの値を送受信する方法を教えてください。なお、入力ミスかと思い、http://www.7key.jp/hp/php/memo5.htmlのコピペをしてみましたが警告が出続けます。以下にそのページのソースを示します。 送信側のページのソースは次のようになっています。 <?php echo '<?xml version="1.0" encoding="UTF-8"?> '; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>送信</title> </head> <body> <form action="response.php" method="post"> <input type="checkbox" name="sample" value="1" checked="checked"> <input type="checkbox" name="sample" value="2"> <input type="checkbox" name="sample" value="3"> <input type="submit" value="sending" /> </form> </body> </html> 受信側のソースは次のようになっています。 <?php echo '<?xml version="1.0" encoding="UTF-8"?> '; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>受信</title> </head> <body> <?php foreach($_POST['sample'] as $key => $val){ echo "$key : $val \n"; } ?> </body> </html>

    • 締切済み
    • PHP
  • htmlの中にPHPの出力ってどうだっけ?

    tst.htmlの中に例えば、カウンターの数字や埋め込み式掲示板を出力するのって、どうだっけ? あくまで、tst.phpじゃなくって、tst.htmlの中で。 あれ?できなかったっけ? あんま、サーバの設定とか、変えるの無理~。><。 ---tst.html------------------ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>TEST</title> </head> <body> <?php print "aaaa"; ?> </body> </html> ---tst.html------------------ だと、できないんだけど?どうして?

    • 締切済み
    • PHP
  • 件名が文字化けしてしまう。PHPで送信フォームを作成しましたが件名が?

    件名が文字化けしてしまう。PHPで送信フォームを作成しましたが件名が?????と 文字化けします。 <? require_once("./lib/form_check.lib"); $type = $_POST['type']; $company = $_POST['company']; $industry = $_POST['industry']; $post = $_POST['post']; $name = $_POST['name']; $address = $_POST['address']; $tel = $_POST['tel']; $mail = $_POST['mail']; $detail = $_POST['detail']; type_name($type); $to = "■■■@■■■■"; $subject = "お問い合わせ"; $header= "From:".$mail; $msg ="────────────────────────────────────────────\n"; $msg .="■お問い合わせ内容\n".$type_name."\n\n"; $msg .="■会社名\n".$company."\n\n"; $msg .="■業種\n".$industry."\n\n"; $msg .="■役職・部署名\n".$post."\n\n"; $msg .="■氏名\n".$name."\n\n"; $msg .="■住所\n".$address."\n\n"; $msg .="■電話番号\n".$tel."\n\n"; $msg .="■メールアドレス\n".$mail."\n\n"; $msg .="■お問い合わせ詳細\n".$detail."\n"; mail($to,$subject,$msg,$header); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <title>お問い合わせ</title> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> これではダメなので mb_language("japanese"); mb_internal_encoding("EUC-JP"); mb_send_mail($to,$subject,$msg,$header); と付け足しました。 これで件名が????になるのはふせげたのですが今度は送信後のページ全体が 文字化けとなりお手上げ状態です。 どう組めばいいのでしょうか?

    • 締切済み
    • PHP
  • XHTMLがシュミレータで見れません。

    EZ-WebのHDMLは複雑なのでXHTMLを作成したのですが、 Openwave SDK 6.2K http://www.au.kddi.com/ezfactory/tool/ue/index.html というシュミレータで ラジオボタンがテキスト入力になってしまいます。 XHTMLでEZ-WEBのページをシュミレータで見る方法はあるのでしょうか? <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content="HTML Tidy for Windows (vers 1st May 2004), see www.w3.org" /> <title></title> </head> <body> <form method="post" action="post.php"><input type="raido" name="type" value="1" />好き <input type="raido" name="type" value="2" />ややわ <input type="submit" name="submit" value="送信" /></form> </body></html>

    • ベストアンサー
    • HTML
  • phpのダウンロード画面が出てしまう

    IE6からphpにアクセスするとダウンロード画面が出てきてしまいます。 ダウンロード画面を出さないようにするにはどうすればいいでしょうか。httpd.confは編集できない環境です。 .htaccessは下記のどちらにしてもDL画面が出てきます。 AddType application/x-httpd-php .xhtml AddType application/xhtml+xml .php index.php; <?php header("Content-Type: application/xhtml+xml"); echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > <head> <meta http-equiv="ContentType" content="application/xhtml+xml" /> <meta content="i-mode7_FOMA" /> <title>タイトル</title> </head> <body> <?php readfile("./numbers3/n3temp.txt"); ?> </body> </html>

    • ベストアンサー
    • CSS

専門家に質問してみよう