※ ChatGPTを利用し、要約された質問です(原文:このプログラムに手を加えるならば)
メール送信フォームの作成と内容確認画面の隅風
このQ&Aのポイント
このプログラムは、メール送信フォームの作成と内容確認画面を表示するものです。フォームから入力された値を取得し、入力値のチェックを行います。
入力項目は、お名前、メールアドレス、タイトル、コメントです。必要な項目が入力されているかをチェックし、入力されていない場合はエラーメッセージを表示します。
メールアドレスは、入力された値が正規表現にマッチしているかどうかを確認します。また、お名前については、名前の重複がないかをチェックします。
<%@ page language="java" contentType="text/html; charset=Shift_JIS"
pageEncoding="Shift_JIS"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>メール送信フォーム</title>
</head>
<body>
<h2>メール送信内容確認画面</h2>
<%
//フォームの値を取得
String mName = request.getParameter("name");
String mFrom = request.getParameter("from");
String mTitle = request.getParameter("title");
String mNaiyou = request.getParameter("naiyou");
String str = "[0-9a-zA-Z]*";
boolean ErrFlg = false;
if (mName.equals(" ")) {
out.println("<p>お名前を入力して下さい");
ErrFlg = true;
}
if (mFrom.equals(" ")) {
out.println("<p>メールアドレスを入力して下さい");
ErrFlg = true;
}
if (mTitle.equals(" ")) {
out.println("<p>タイトルを入力して下さい");
ErrFlg = true;
}
if (mNaiyou.equals(" ")) {
out.println("<p>コメントを入力して下さい");
ErrFlg = true;
}
if (ErrFlg==false) {
%>
<h2>内容を確認してから送信ボタンをクリックして下さい</h2>
<form method=""POST action="sendMail.jsp">
<table border="0">
<tr>
<td width="100">お名前</td>
<td width="300"><%=mName%></td>
</tr>
<tr>
<td width="100">メールアドレス</td>
<td width="300"><%=mFrom%></td>
</tr>
<tr>
<td width="100">タイトル</td>
<td width="300"><%=mTitle%></td>
</tr>
<tr>
<td width="100">メッセージ</td>
<td widht="300"><%=mNaiyou%></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="送信"></td>
</tr>
</table>
<input type="hidden" name="name" value="<%= mName %>">
<input type="hidden" name="from" value="<%= mFrom %>">
<input type="hidden" name="title" value="<%= mTitle %>">
<input type="hidden" name="naiyou" value="<%= mNaiyou %>">
</form>
</body>
</html>
いかにも単純なメール送信内容チェック画面です。
それだけに隙間風がビュービュー吹いているように感じます。
まず、メールアドレスですか。
ここは勝手に作った変数strに正規表現を代入(?)しました。
これと後は@があるかないか、とかで一様はいいでしょうか。
名前は名前の重複とかを調べる必要がありますね。
他にエラーチェックする項目があれば列挙してほしいのですが。
他力本願は自分の悪い癖。
でも、ここは皆様のお力をお借りしたい。
どうぞ宜しくお願い致します。
お礼
アドバイスありがとうございます。 はい、正規表現のところはまだ手を付けていません。 URL貼り付け、感謝します。 >でも、メールアドレスなんて好きに詐称することができるのでチェックすることに意味があるのか疑問です。 なるほど。そうなのですか。 重複の件は掲示板と勘違いしてました。 重複は問題ないですね。 でも1番のキーポイントは、 >どういう内容のメールを入力させたいのが判らないし・・・。 ってところですか。どういう内容? そもそもメールを送る必要は無いので、この疑問はこれでおしまい。 チャンチャン!