![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんにちは。早速ですが現在下記のようなメールフォームを作成しているのですが、
<%
'On Error Resume Next
If Len(Request("name")) = 0 then
Response.Write "お名前が入力されていません。" & "<br>"
Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>"
Response.Write "<br>"
Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>"
ElseIf Len(Request("mail")) = 0 then
Response.Write "メールアドレスが入力されていません。" & "<br>"
Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>"
Response.Write "<br>"
Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>"
ElseIf Len(Request("message")) = 0 then
Response.Write "お問い合わせ内容が入力されていません。" & "<br>"
Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>"
Response.Write "<br>"
Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>"
else
'メール送信
Set bobj = Server.CreateObject("basp21") ' ASP
svname = "xxxx" ' <== smtp サーバマシン名
mailto = "xxxxx" ' 宛先
mailfrom = "xxxxx" '差出し人
subj = "お問い合わせフォームより"' 件名
body = "お名前 :"& Request("name") & vbCrLf _
& "電話番号 :"& Request("phone") & vbCrLf _
& "メール :"& Request("mail") & vbCrLf _
& "お問い合わせ内容 :"& Request("message") & vbCrLf
file = ""
rc = bobj.SendMail(svname,mailto,mailfrom,subj,body,file)
if rc <> "" then' エラーチェック
'エラー!
Response.Write "エラーで送信できませんでした。" & rc & "<br><br>"
else
Response.Write "お問い合わせありがとうございました。" & "<br>"
Response.Write "メールを確認次第ご連絡させていただきます。" & "<br>"
end if
end if
%>
ここで入力させた内容を一度確認画面を出して、送信を行いたいと思うのですが、フォームの引き継ぎ方が分かりません。
どうぞ皆様のお力をお貸し下さい。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
お世話になります。
以下に簡単な 3 つの ASP を書きました。
実際にメールの送信などは行いませんが
Session を使った画面間の値の引き渡しはお分かりになるかとお思います。
mailSend1.asp … 入力画面
mailSend2.asp … 確認画面
mailSend3.asp … 完了画面
■以下は簡単なプログラムの説明です。
mailSend1.asp は 自分自身が生成した HTML から POST されたときに
リクエスト変数ないの値チェックを行って、値に不備がある場合は、エラーメッセージを表示して画面遷移しません。
逆にエラーがない場合は、Session に入力された値を入れて、確認画面へ画面遷移します。
mailSend2.asp は Session の mailSend1.asp によって入れられた値を表示します。
mailSend2.asp は 自分自身が生成した HTML から POST されたときに完了画面へ遷移します。
mailSend3.asp は Session 上のすべての値を破棄して初期化します。
■以下は 3 つの ASP です。
' ---------- 入力画面(mailSend1.asp)----------
<%
Dim errorMessage
If (Request.Form("mailSend1_postback") <> "") Then
' 変数のチェックなど
errorMessage = ""
If Request.Form("toAddress") = "" Then
errorMessage = "<font color=red>送信先メールアドレスが入力されていません</font><br>"
End If
If Request.Form("fromAddress") = "" Then
errorMessage = errorMessage & "<font color=red>送信元メールアドレスが入力されていません</font><br>"
End If
If errorMessage = "" Then
' 確認画面へ遷移する
Session("toAddress") = Request.Form("toAddress")
Session("fromAddress") = Request.Form("fromAddress")
Session("subject") = Request.Form("subject")
Session("message") = Request.Form("message")
Response.Redirect("mailSend2.asp")
Else
errorMessage = errorMessage & "<br>"
End If
End If
%>
<html>
<head>
<title>メール送信:入力</title>
</head>
<body>
<form name="mailInput" method="post" action="mailSend1.asp">
<%=errorMessage %>
送信先メールアドレス:<input type="text" name="toAddress" /><br>
送信元メールアドレス:<input type="text" name="fromAddress" /><br>
件名:<input type="text" name="subject" /><br>
本文:<textarea type="text" name="message" ></textarea><br>
<input type="hidden" name="mailSend1_postback" value="true">
<input type="submit" value="確認へ">
</form>
</body>
</html>
' ---------- 確認画面(mailSend2.asp)----------
<%
If (Request.Form("mailSend2_postback") <> "") Then
' メール送信処理など
' 完了画面へ遷移する
Response.Redirect("mailSend3.asp")
End If
%>
<html>
<head>
<title>メール送信:確認</title>
</head>
<body>
<form id="mailConfirm" method="post" action="mailSend2.asp">
送信先メールアドレス:<%=Session("toAddress") %><br>
送信元メールアドレス:<%=Session("fromAddress") %><br>
件名:<%=Session("subject") %><br>
本文:<%=Replace(Session("message"), vbCrlf, "<br>") %><br>
<input type="hidden" name="mailSend2_postback" value="true">
<input type="submit" value="完了へ">
</form>
</body>
</html>
' ---------- 完了画面(mailSend3.asp)----------
<%
' セッション情報破棄
Session.Abandon
%>
<html>
<head>
<title>メール送信:完了</title>
</head>
<body>
<p>送信しました。</p>
</form>
</body>
</html>
No.1
- 回答日時:
この回答への補足
naganaga_001様
早速のご回答ありがとうございます。
参考サイトを拝見してみたのですが、実はまだASPをやり始めたばっかりで、このフォームも拾ってきたものです。Sessionの使い方がよくわかりませんので、ご指導いただけたらと思います。
よろしくお願いします.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
VB.NET Excelを読み込んでDataT...
-
aspxをhtmlに変換する方法について
-
Windowsで複数のファイルを同じ...
-
Windows10にデュアルブートでXP...
-
onedrive にexcelファイルをア...
-
phpのファイルがブラウザで開か...
-
Accessのトグルボタンでサブフ...
-
お世話になります。 Windows Up...
-
【VB.NET】App.configにファイ...
-
Microsoft surface laptopでテ...
-
VB.NETでMSComm が追加できず?
-
マクロで同じフォルダにある画...
-
Wi-Fiのパスワードが指定なしと...
-
VBAのRegExpで後方一致/不一致...
-
DataColumn型の使用方法
-
ffftpでファイル取得が0バイト...
-
キヤノン アソビカメラ iNSPiC ...
-
W10環境変数の%記号
-
”KINGSOFT WPSのVBエディタ画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
遷移先のURLにパラメータを表示...
-
テキストエリアで入力した文字...
-
<!DOCTYPE HTML PUBLIC "-//W3C...
-
<input>でonblur=がある場合の入力
-
VBSでXMLを操作したい
-
[ASP]URL付加情報を転用した...
-
あいまい検索画面を作成したい
-
入力フォームの値をSQLのクエリ...
-
確認画面を出す
-
onBlur→検索→結果の表示
-
form送信でテキストがバイナリ...
-
半角カナだけが入力できる<inpu...
-
インラインフレーム内を送信する
-
テキストボックス内を・・・
-
HTMLの値の渡し方について質問...
-
フォームのtextareaにnl2brを使...
-
ACCESSのレポートの表示...
-
aspxでIFみたいなことがしたい
-
write downとfill outの違いを...
-
機種依存文字
おすすめ情報