我已经创建了一个下面显示的html文档,但是我遇到了mysql编码的麻烦,使表单中的值更新了我的mysql数据库。有人可以帮我解决这个问题吗?
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head> <body>
<h1>Hello World!</h1>
<h1>Submit your notices below:</h1>
<form name="messages" action="teacher1messages.jsp" method="POST" enctype="multipart/form-data">
<h1>Username:</h1>
<input type="text" name="username" value="eg.cs09kkk1" />
<h1>Date of notice:</h1>
<input type="text" name="date" value="dd/mm/yy" />
<h1>Notice:</h1>
<textarea name="message1" rows="4" cols="20">
[Type your notices here]
</textarea>
<input type="submit" value="submit" name="submit" />
<h1>Acknowledgment:</h1>
<input type="text" name="acknowledgment" value="" />
</form>
</body>
</html>
这是我尝试过的sql update编码,但它只是将我数据库中的表更新为null null,而不是用户输入值
--%><sql:update var="messages" dataSource="jdbc/noticeboard">
INSERT INTO messages (username, postedon, message, acknowledgment)
VALUES ('$_POST[username]','$_POST[date]','$_POST[message1]','$_POST[acknowledgment]')
</sql:update>
答案 0 :(得分:0)
从未使用过jsp这可能是错误的,但语法不正确:
$_POST['username']
不
'$_POST[username]'
所以你的代码变成了:
<sql:update var="messages" dataSource="jdbc/noticeboard">
INSERT INTO messages (username, postedon, message, acknowledgment) VALUES ($_POST['username'],$_POST['date'],$_POST['message1'],$_POST['acknowledgment'])
</sql:update>
答案 1 :(得分:0)
JSP中没有$_POST
,可能是PHP。试试ServletRequest
的{{3}}。
答案 2 :(得分:0)
那些$_POST[parameterName]
适用于PHP。
你在这里搞乱PHP和JSP。您的查询应该是:
<sql:update var="messages" dataSource="jdbc/noticeboard">
INSERT INTO messages (username, postedon, message, acknowledgment)
VALUES ('<%=request.getParameter("username")%>',
'<%=request.getParameter("date")%>',
'<%=request.getParameter("message1")%>',
'<%=request.getParameter("acknowledgment")%>')
</sql:update>
JSP中使用 <%=request.getParameter("parameterName")%>
来打印parameterName
参数的值。