Frågan#1
Tjena
Har ett formulär som ser ut såhär:
<form name="nl_step1" action="newsletter_send_step_2.asp" method="post" enctype="multipart/form-data">
<table cellpadding="0" cellspacing="0" style="margin-top: 10px;">
<tr>
<td colspan="3" class="form_topic padd_top">Rubrik: <span class="large_text_13px req_field">*</span></td>
</tr>
<tr>
<td colspan="3" class="form_topic padd_top" style="padding: 2px;"><input type="text" name="nl_topic" class="form_field" style="width: 200px;" /></td>
</tr>
<tr>
<td colspan="3" class="form_topic padd_top">Bild: <span class="small_text_8px">(Max storlek 240x160px)</span></td>
</tr>
<tr>
<td colspan="3" class="form_topic padd_top" style="padding: 2px;"><input type="file" name="nl_image" class="form_field" style="width: 200px;" /></td>
</tr>
<tr>
<td colspan="3" class="form_topic padd_top">Text: <span class="large_text_13px req_field">*</span></td>
</tr>
<tr>
<td colspan="3" class="form_topic padd_top" style="padding: 2px;">
<textarea name="nl_text" cols="15" rows="20" style="border: 0px; width: 615px; height:375px;"></textarea>
<input type="hidden" name="user_id" value="1" />
</td>
</tr>
<tr>
<td colspan="3" class="padd_top" style="text-align: right; vertical-align: top;">
<input type="submit" value="Nästa =>" class="input_button" />
</td>
</tr>
</table>
</form>
När formuläret postas, så har jag följande i filen "newsletter_send_step_2.asp":
If Len(Session("user_permission")) = 1 And Session("user_permission") >= 2 And resume_output Then
Set Upload = Server.CreateObjecT("Persits.Upload")
[red]Upload.Save Server.MapPath("uploaded")[/red]
nl_topic = FixSQL(Trim(Upload.Form("nl_topic")))
Set File = Upload.Files("nl_image")
nl_text = FixSQL(Trim(Upload.Form("nl_text")))
user_id = FixSQL(Trim(Upload.Form("user_id")))
user_id = cInt(user_id)
If Len(nl_topic) <= 0 Or Len(nl_text) <= 0 Then
If Not File Is Nothing Then
File.Delete
Else
%>
<!--#include file="css/err_htm_header.inc"-->
<%
[b]Response.Write( "<div id=""message_window"">Du missade att fylla i ett obligatoriskt fält.<br /><a href=""#"" onclick=""history.go(-1);"">Försök igen</a></div>" & VbCrLf &_
"</body>" & VbCrLf &_
"</html>" & VbCrL)[/b]
Response.End
End If
Set Upload = Nothing
ElseIf Len(user_id) <= 0 Or user_id <> Session("user_id") Then
If Not File Is Nothing Then
File.Delete
Else
%>
<!--#include file="css/err_htm_header.inc"-->
<%
Response.Write( "<div id=""message_window"">Ett kritiskt fel har uppstått, logga ut och logga sedan in och försök igen.<br /><a href=""logout.asp"">Logga ut</a></div>" & VbCrLf &_
"</body>" & VbCrLf &_
"</html>" & VbCrL)
Response.End
End If
Set Upload = Nothing
ElseIf File Is Nothing And File.ImageType = "UNKNOWN" Then
File.Delete
%>
<!--#include file="css/err_htm_header.inc"-->
<%
Response.Write( "<div id=""message_window"">Ett kritiskt fel har uppstått, logga ut och logga sedan in och försök igen.<br /><a href=""logout.asp"">Logga ut</a></div>" & VbCrLf &_
"</body>" & VbCrLf &_
"</html>" & VbCrL)
Response.End
Set Upload = Nothing
Else
Response.Write("Success")
End If
End If
Problemet är att om jag trycker "Nästa" utan att fylla i något i fälten, så dyker ju meddelandet "Du har inte fyllt i de obl...".
I det meddelandet (fetstilt i koden ovan) så har jag en länk, för att backa ett steg.
När jag trycker "Försök igen", så visas följande felmess: (rödmarkerat i koden ovan).
Persits.Upload.1 (0x800A003D)
Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.
newsletter_send_step_2.asp, line 24
Det konstiga är ju att history.go(-1); bör väl göra så att man kommer tillbaks till den filen med formuläret, alltså "newsletter_send_step_1.asp" ?
Men felet blir i den fil som hanterar formulärsdatan.
Någon som vet vad det kan bero på?
