2013-05-30 3 views
0

사용자는 폼에 여러 필드를 추가 할 수 있습니다.두 번째 레코드 데이터를 데이터베이스에 삽입 할 때 문제가 발생했습니다.

양식을 제출할 때이 데이터를 받아서 데이터베이스에 저장하고 사용자를 다시 양식 페이지로 리디렉션해야합니다.

그러나 첫 번째 데이터 만 데이터베이스에 삽입되고 사용자는 즉시 양식 페이지로 리디렉션됩니다.

내가 뭘 잘못하고 있니?

For i = 0 to Request.Form("totalGRADES") 
    If Request.Form("x") = "p" AND Session("Access") = "On" Then 

     classYEAR = Clean(Request.Form("classYEAR" & i)) 
     gpa   = Clean(Request.Form("gpa" & i)) 

     Call AddGrades (classYEAR, gpa) 

    End If 
Next 


Sub AddGrades (classYEAR, gpa) 

    SQL = "INSERT INTO grades (memberid, classYEAR, gpa, dateENTERED) VALUES ('"& Session("MEMBERID") &"', '"& classYEAR &"', '"& gpa &"', '"& FormatDateMySQL(NOW) &"')" 
    Set objAddGRADE = objConn.execute(SQL) 

Response.Redirect Request.ServerVariables("HTTP_REFERER") 

End Sub 

답변

0

Sub에서 이동 Response.Redirect Request.ServerVariables("HTTP_REFERER")Next 문 뒤에 배치합니다. 깨짐, 코드가 안전하지 않습니다. 양식 필드 값을 SQL에 전달하기 전에 ' 등으로 확인해야합니다.

+0

고맙습니다. VMV, 정말 놓쳐서는 안됩니다. BTW, 깨끗한 함수는 SQL 주입을 확인합니다. – Efe

관련 문제