2012-03-07 19 views
0

我使用netbeans和MySQL創建了一個附帶數據庫的網站。 我已經寫了一段代碼,用於在網站上的表單中提交的信息輸入到數據庫中,但實際的輸入沒有被插入到數據庫中,只有'$ _POST [username]','$ _ POST [date] ','$ _ POST [message1]','$ _ POST [acknowledgement]'...我希望這些值是用戶輸入的值。使用jsp更新數據庫

誰能幫我解決這個問題或建議任何請

<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> 
<%-- 
    Document : teacher1 
    Created on : 07-Mar-2012, 02:36:31 
    Author  : 
--%><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> 



<%@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> 

謝謝!

回答

1

$_POST[username]符號是爲PHP我猜。使用這樣的事情:

<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> 

更新:

嚐嚐這也是,我不知道是否能解析參數。

<sql:update var="messages" dataSource="jdbc/noticeboard"> 
INSERT INTO messages (username, postedon, message, acknowledgment) 
VALUES (?,?,?,?) 
    <sql:param value='<%=request.getParameter("username")%>'/> 
    <sql:param value='<%=request.getParameter("date")%>'/> 
    <sql:param value='<%=request.getParameter("message1")%>'/> 
    <sql:param value='<%=request.getParameter("acknowledgment")%>'/> 
</sql:update> 
+0

那給出了null的結果? – user1162494 2012-03-07 07:03:44

+0

您的表單將值提交給'teacher1messages.jsp'。這是你正在執行的正確文件名嗎? – tusar 2012-03-07 07:07:17

+0

否代碼位於文件名teacher1上。我改變了那部分代碼,它仍然在數據庫中顯示爲空 – user1162494 2012-03-07 07:15:00