プログラミング中、あった問題 01
先週の問題を解決
先週のtry catchの部分(IDは同じ状況)を直しましたか、新しいバッグを出てしまいました。PASSWORDを変更できません。新しい方法を使いました。
本来の方法:入力したIDでDataBaseにアカウントを削除して、同じIDと新しいPASSWORDを作成します。
やった方法:条件式を変わりましたか、直接にDataBaseに特定のデータを更新した方がいいだと思います。
解決方法:DataBaseに指定したIDのPASSWORDを変更します。
(JAVA)
UPDATE shain_table SET pw ='" + pw + "' WHERE id = '" + id + "'
__________________________________________________________________________________________________________________________________________________
今日の作ったこと
1.ログイン画面で入力文字数制限の機能を追加しました。
(HTML)<input maxlength='8'>
2.新しいアカウントを作成すると、個人的なテーブルを作成します。そして、ログイン成功画面にテーブルの資料を現れます。全ての資料がチェックボックスを付けます。
(既定値があります。)
本来の方法:全ての人は同じテーブルで作成したいですか、将来、新しい属性を付けるなら、方法を変わりました。
やった方法:個人的なテーブルを作成します。
(JAVA)
String sql = "CREATE TABLE `" + id + "` (`LIST` TEXT NULL) COLLATE='utf8mb4_0900_ai_ci' ENGINE=InnoDB";
String defaultvalue1 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('買い物');";
String defaultvalue2 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('映画');";
String defaultvalue3 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('運動');";
3.ループで資料を出力すると、チェックボックスを付けます。
問題点:HTMLに値を渡しません。
解決方法:デバッグで問題点を探して、コードの位置を変わって、最後は個別に値を渡します。
(JAVA)
if (status.equals("成功しました") && mode.equals("verification")) {
//Change Special Sign
userid = userid.replaceAll("(?i)(<)", "<");
userid = userid.replaceAll("(?i)(>)", ">");
userpw = userpw.replaceAll("(?i)(<)", "<");
userpw = userpw.replaceAll("(?i)(>)", ">");
request.setAttribute("id", userid);
request.setAttribute("pw", userpw);
request.setAttribute("status", status);
//Print List
//member.jsp
try {
conn = ds.getConnection();
StringBuffer sql = new StringBuffer();
sql.append("select LIST from `" + userid + "` where LIST LIKE'%';");
System.out.println(sql);
pstmt = conn.prepareStatement(new String(sql));
pstmt.execute();
rset = pstmt.executeQuery();
request.setAttribute("print", rset);
(request.getRequestDispatcher("/member.jsp").forwardequest, response);
rset.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
}
}
request.getRequestDispatcher("/member.jsp").forward(request, response);
} else {
request.setAttribute("status", status);
request.setAttribute("message", message);
request.getRequestDispatcher("/result.jsp").forward(request, response);
}
}
(HTML)
<form action="Edit" method="post">
<p>
<%
while (rset.next()) {
%>
<input type="checkbox" name="riyu" value="1">
<%=rset.getString(1)%><br> <br>
<%
}
%>
</p>
<p>
<input type="button" onclick="location.href='addlist.jsp'"
value="新規登録">
</p>
4.新しい追加画面作りました。追加機能はまだ完成しません。
先週の問題
先週のtry catchの部分(IDは同じ状況)を直しましたか、新しいバグが出てしまいました。PASSWORDを変更できません。新しい方法を使いました。
以前の方法:入力したIDでDataBaseのアカウントを削除して、同じIDと新しいPASSWORDで作成します。 (delete => insert)
やった方法:条件式を変わりましたか、直接にDataBaseに特定のデータを更新した方がいいだと思います。
解決方法:DataBaseに指定したIDのPASSWORDを変更します。
(JAVA)
UPDATE shain_table SET pw ='" + pw + "' WHERE id = '" + id + "'
__________________________________________________________________________________________________________________________________________________
今日の作ったこと
1.ログイン画面で入力文字数制限の機能を追加しました。
(HTML)<input maxlength='8'>
2.新しいアカウントを作成すると、個人的なテーブルを作成します。そして、ログイン成功画面にテーブルの資料を現れます。全ての資料がチェックボックスを付けます。
(既定値があります。)
本来の方法:全ての人は同じテーブルで作成したいですか、将来、新しい属性を付けるなら、方法を変わりました。
やった方法:個人的なテーブルを作成します。
(JAVA)
String sql = "CREATE TABLE `" + id + "` (`LIST` TEXT NULL) COLLATE='utf8mb4_0900_ai_ci' ENGINE=InnoDB";
String defaultvalue1 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('買い物');";
String defaultvalue2 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('映画');";
String defaultvalue3 = "INSERT INTO `" + id + "`(`LIST`) VALUES ('運動');";
3.ループで資料を出力すると、チェックボックスを付けます。
問題点:HTMLに値を渡せません。
解決方法:デバッグで問題点を探して、コードの位置を変わって、最後は個別に値を渡します。
(JAVA)
if (status.equals("成功しました") && mode.equals("verification")) {
//Change Special Sign
userid = userid.replaceAll("(?i)(<)", "<");
userid = userid.replaceAll("(?i)(>)", ">");
userpw = userpw.replaceAll("(?i)(<)", "<");
userpw = userpw.replaceAll("(?i)(>)", ">");
request.setAttribute("id", userid);
request.setAttribute("pw", userpw);
request.setAttribute("status", status);
//Print List
//member.jsp
try {
conn = ds.getConnection();
StringBuffer sql = new StringBuffer();
sql.append("select LIST from `" + userid + "` where LIST LIKE'%';");
System.out.println(sql);
pstmt = conn.prepareStatement(new String(sql));
pstmt.execute();
rset = pstmt.executeQuery();
request.setAttribute("print", rset);
(request.getRequestDispatcher("/member.jsp").forwardequest, response);
rset.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
}
}
request.getRequestDispatcher("/member.jsp").forward(request, response);
} else {
request.setAttribute("status", status);
request.setAttribute("message", message);
request.getRequestDispatcher("/result.jsp").forward(request, response);
}
}
(HTML)
<form action="Edit" method="post">
<p>
<%
while (rset.next()) {
%>
<input type="checkbox" name="riyu" value="1">
<%=rset.getString(1)%><br> <br>
<%
}
%>
</p>
<p>
<input type="button" onclick="location.href='addlist.jsp'"
value="新規登録">
</p>
4.新しい追加画面作りました。追加機能はまだ完成しません。