Just nu i M3-nätverket
Gå till innehåll

Sparar inte till databasen, men ger inget fel heller...


menhir

Rekommendera Poster

Hej!

 

Jag har ett problem som jag inte kan lista ut vad det beror på. Jag har en massa värden som ska sparas i en accessdatabas. Om man väljer att visa värdena på hemsidan så visas de utan problem, men scriptet som sparar dem i databasen verkar knast. Inga felmeddelanden visas/uppstår, men ingenting sparas i databasen. Kan någon hjälpa mig att säga vad jag missat blir jag jätteglad!

 

Koden är följande:

<%
'declare your variables
Dim strrubrik, strannonstext, strannonsbild, strSaljareLandskap, strSaljareNamn, strSaljareAdress, strSaljarePostnr, strSaljareOrt, strSaljareEpost, strSaljareTelefon, strSaljareMobil, strTidning
Dim sConnString, conn, sSQL
'Receiving values from Form, assign the values entered to variables
strrubrik = Upload.Form("Rubrik")
strannonstext = Upload.Form("AnnonsText")
strannonsbild = File.FileName
strSaljareLandskap = Upload.Form("SaljareLandskap")
strSaljareNamn = Upload.Form("SaljareNamn")
strSaljareAdress = Upload.Form("SaljareAdress")
strSaljarePostnr = Upload.Form("SaljarePostnr")
strSaljareOrt = Upload.Form("SaljareOrt")
strSaljareEpost = Upload.Form("SaljareEpost")
strSaljareTelefon = Upload.Form("SaljareTelefon")
strSaljareMobil = Upload.Form("SaljareMobil")
strTidning = Upload.Form("Tidning")

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=h:\home\users\public_html\gutefar\annonser.mdb"
'create an ADO connection object 
Set conn = Server.CreateObject("ADODB.Connection")

'Open the connection to the database
conn.Open(sConnString)
'declare SQL statement that will query the database 
sSQL = "INSERT into Annonser (Rubrik, Annonstext, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) values ('" & strrubrik & "', '" & strannonstext & "', '" & strannonsbild & "', '" & strSaljareNamn & "', '" & strSaljareAdress & "', '" & strSaljarePostnr & "', '" & strSaljareOrt & "', '" & strSaljareLandskap & "', '" & strSaljareEpost & "', '" & strSaljareTelefon & "', '" & strSaljareMobil & "', '" & strTidning & "')" 
'define the connection string, specify database
'driver and the location of database


'execute the SQL 
conn.execute(sSQL)

response.write "Uppgifterna har sparats!"
'Done. Close the connection object
conn.Close
Set conn = Nothing
%>

 

En bild på hur databasen ser ut bifogas.

 

Jättetack på förhand!

 

[bild bifogad 2008-08-11 10:48:12 av menhir]

1071918_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Vad menar du med att "visa värdena på hemsidan"? Menar du i samband med att du försöker spara värdena från formuläret?

Skriv ut din sql-fråga innnan den körs:

Response.write sSQL

 

Du använder förövrigt Upload.Form() men jag kan inte se i din kod att du instansierar Upload-objektet. Du tycks ju inte ens spara annonsbilden i denna kod.

Vilken upladdningskomponent är det du använder? Persits ASPUpload?

 

Dessutom är du med denna kod vidöppen för SQL-injection-attacker...

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Tack för ditt svar! Mycket riktigt är det AspUpload jag använder. Jag har löst det mesta av problemen under dagen så nu sparas allt i databasen utom filnamnet.

 

Om jag skriver

<% response.Write File.FileName %>

eller

<% = File.FileName %>

så visas filnamnet på hemsidan, men hur gör jag för att få in värdet i strannonsbild? Att skriva

strannonsbild = File.FileName

funkar icke...

 

Länk till kommentar
Dela på andra webbplatser

Du menar att man kan sätta det istället för '" & strannonsbild & "'? Vilka tecken ska File.Filename omgärdas av då?

 

Länk till kommentar
Dela på andra webbplatser

Då sparas inget i databasen längre... Om jag ändrar tillbaka till strannonsbild sparas övrig info igen. Varför ska programmering vara så knepigt? ;)

 

Länk till kommentar
Dela på andra webbplatser

Lägg upp din kod här (använd KOD-knappen) så man kan titta lite närmare på det.

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Tack för ditt tålamod!

 

Sidan inleds med följande:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 520000	' Limit files to 0,5MB
Count = Upload.Save(Server.MapPath("/gutefar/bilder"))
%>

 

Därefter kommer lite vanlig html som jag inte tar upp utrymme med här.

 

Sedan följer denna kod:

<%
'declare your variables
Dim strrubrik, strannonstext, strannonsbild, strSaljareLandskap, strSaljareNamn, strSaljareAdress, strSaljarePostnr, strSaljareOrt, strSaljareEpost, strSaljareTelefon, strSaljareMobil, strTidning
Dim sConnString, conn, sSQL

'Receiving values from Form, assign the values entered to variables
strrubrik = Upload.Form("Rubrik")
strannonstext = Upload.Form("AnnonsText")
strannonsbild = File.FileName
strSaljareLandskap = Upload.Form("SaljareLandskap")
strSaljareNamn = Upload.Form("SaljareNamn")
strSaljareAdress = Upload.Form("SaljareAdress")
strSaljarePostnr = Upload.Form("SaljarePostnr")
strSaljareOrt = Upload.Form("SaljareOrt")
strSaljareEpost = Upload.Form("SaljareEpost")
strSaljareTelefon = Upload.Form("SaljareTelefon")
strSaljareMobil = Upload.Form("SaljareMobil")
' strTidning = "True" 
If Upload.Form("Tidning") = "on" Then 
strTidning = "true" 
Else 
strTidning = "false"
End If



sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=h:\home\users\gutefar\annonser.mdb"

'create an ADO connection object 
Set conn = Server.CreateObject("ADODB.Connection")

'Open the connection to the database
conn.Open(sConnString)

'declare SQL statement that will query the database 
sSQL = "INSERT into Annonser (Rubrik, Annonstext, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) values ('" & strrubrik & "', '" & strannonstext & "', '" & strannonsbild & "', '" & strSaljareNamn & "', '" & strSaljareAdress & "', '" & strSaljarePostnr & "', '" & strSaljareOrt & "', '" & strSaljareLandskap & "', '" & strSaljareEpost & "', '" & strSaljareTelefon & "', '" & strSaljareMobil & "', " & strTidning & ")" 
'define the connection string, specify database
'driver and the location of database

'Response.Write sSQL
'Response.End

'execute the SQL 
conn.execute(sSQL)

response.write "Din annons har sparats!"

'Done. Close the connection object
conn.Close
Set conn = Nothing
%>

 

 

 

Länk till kommentar
Dela på andra webbplatser

Men var sätter du File objektet?

Vad heter fil-fältet i ditt formulär?

Kanske lika bra att ta med hela koden?

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Formuläret låg på en annan sida (fil) så jag glömde det. Kommer här:

<form method="post" action="annonserUpload.asp" enctype="multipart/form-data" name="form1" onSubmit="return validateForm(form1);">
   <table align="left">
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style6">Rubrik*:</div></td>
       <td><input name="Rubrik" type="text" value="" size="60">
       </td>
     </tr>
     <tr>
       <td nowrap align="right" valign="top"><div align="left" class="style6">Annonstext*:</div></td>
       <td valign="baseline"><span class="style8">
         <textarea name="Annonstext" cols="60" rows="5"></textarea>
       </span>        </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Annonsbild:</strong></div></td>
       <td><input name="Annonsbild" type="file" value="" size="32">
         <br />
         <span class="style10">OBS! Bildens filnamn f&aring;r ej inneh&aring;lla mellanslag, &aring;, &auml;, &ouml; eller andra specialtecken!</span> </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Namn*:</strong></div></td>
       <td><input name="SaljareNamn" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Adress*:</strong></div></td>
       <td><input name="SaljareAdress" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Postnr*:</strong></div></td>
       <td><input name="SaljarePostnr" type="text" value="" size="6">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Ort*:</strong></div></td>
       <td><input name="SaljareOrt" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Landskap*:</strong></div></td>
       <td><select name="SaljareLandskap" id="SaljareLandskap">
         <%
While (NOT rsLandskap.EOF)
%>
         <option value="<%=(rsLandskap.Fields.Item("LandskapNamn").Value)%>"><%=(rsLandskap.Fields.Item("LandskapNamn").Value)%></option>
         <%
 rsLandskap.MoveNext()
Wend
If (rsLandskap.CursorType > 0) Then
 rsLandskap.MoveFirst
Else
 rsLandskap.Requery
End If
%>
       </select></td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Epost*:</strong></div></td>
       <td><input name="SaljareEpost" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Telefon*:</strong></div></td>
       <td><input name="SaljareTelefon" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left" class="style8"><strong>Mobil*:</strong></div></td>
       <td><input name="SaljareMobil" type="text" value="" size="60">
       </td>
     </tr>
     <tr valign="top">
       <td align="right" nowrap><input name="Tidning" type="checkbox" id="Tidning" value="checkbox" /></td>
       <td><span class="style8">Annonsen ska ocks&aring; tryckas i n&auml;sta nummer av medlemstidningen. (Ordinarie datum f&ouml;r manusstopp g&auml;ller) </span></td>
     </tr>
     <tr valign="baseline">
       <td nowrap align="right"><div align="left"></div></td>
       <td><span class="style11">&nbsp;* Informationen m&aring;ste anges. V g skriv bindestreck (-) om du t ex saknar mobiltelefon.</span> <br />
&nbsp;          <br />
         <input type="submit" value="Fortsätt ->">
       </td>
     </tr>
   </table>
   <div align="left"> </div>
 </form>

 

Misstänker att det är något special, special med AspUpload. För att använda checkbox i formuläret fick jag använda följande lösning, som ju inte verkar vara standard för checkboxar:

If Upload.Form("Tidning") = "on" Then 
strTidning = "true" 
Else 
strTidning = "false"
End If

 

Länk till kommentar
Dela på andra webbplatser

Var länge sedan jag pillade med ASPUpload och har tyvärr inte tillgång till den för att testa, men du kan ju försöka med denna kod och se vad som händer :)

<%
SET Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 520000   ' Limit files to 0,5MB
Count = Upload.Save(Server.MapPath("/gutefar/bilder"))

If Err.Number = 8 Then
  Response.Write "Bildfilen var för stor, annonsen kunde ej sparas. Var god försök igen med en mindre bildfil"
Else
  If Err <> 0 Then
     Response.Write "An error occurred: " & Err.Description
  Else
     strRubrik = Upload.Form("Rubrik")
     strAnnonstext  = Upload.Form("AnnonsText")
     strSaljareLandskap = Upload.Form("SaljareLandskap")
     strSaljareNamn = Upload.Form("SaljareNamn")
     strSaljareAdress = Upload.Form("SaljareAdress")
     strSaljarePostnr = Upload.Form("SaljarePostnr")
     strSaljareOrt = Upload.Form("SaljareOrt")
     strSaljareEpost = Upload.Form("SaljareEpost")
     strSaljareTelefon = Upload.Form("SaljareTelefon")
     strSaljareMobil = Upload.Form("SaljareMobil")
     If Upload.Form("Tidning") = "on" Then 
        strTidning = "true" 
     Else 
        strTidning = "false"
     End If

     SET File = Upload.Files("Annonsbild")
     strAnnonsbild    = File.FileName
     SET File = Nothing

     SET conn = Server.CreateObject("ADODB.Connection")
     connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=h:\home\users\public_html\gutefar\annonser.mdb"
     conn.open connStr

     sSQL = ""&vbCrLf&_
        "INSERT INTO Annonser "&vbCrLf&_
        "   ("&vbCrLf&_
        "      Rubrik, "&vbCrLf&_
        "      Annonstext, "&vbCrLf&_
        "      Annonsbild, "&vbCrLf&_
        "      SaljareNamn, "&vbCrLf&_
        "      SaljareAdress, "&vbCrLf&_
        "      SaljarePostnr, "&vbCrLf&_
        "      SaljareOrt, "&vbCrLf&_
        "      SaljareLandskap, "&vbCrLf&_
        "      SaljareEpost, "&vbCrLf&_
        "      SaljareTelefon, "&vbCrLf&_
        "      SaljareMobil, "&vbCrLf&_
        "      Tidning "&vbCrLf&_
        "   ) "&vbCrLf&_
        "VALUES "&vbCrLf&_
        "   ( "&vbCrLf&_
        "      '" & strrubrik & "', "&vbCrLf&_
        "      '" & strannonstext & "', "&vbCrLf&_
        "      '" & strAnnonsbild & "', "&vbCrLf&_
        "      '" & strSaljareNamn & "', "&vbCrLf&_
        "      '" & strSaljareAdress & "', "&vbCrLf&_
        "      '" & strSaljarePostnr & "', "&vbCrLf&_
        "      '" & strSaljareOrt & "', "&vbCrLf&_
        "      '" & strSaljareLandskap & "', "&vbCrLf&_
        "      '" & strSaljareEpost & "', "&vbCrLf&_
        "      '" & strSaljareTelefon & "', "&vbCrLf&_
        "      '" & strSaljareMobil & "', "&vbCrLf&_
        "      '" & strTidning & "' "&vbCrLf&_
        "   )" 

     'Response.write "<pre>" & sSQL & "</pre>"
     conn.execute(sSQL)
     Response.Write "Din annons har sparats!"

     conn.Close
     SET conn = Nothing

  End If
End If

SET Upload = Nothing
%>

 

Vad var det förresten för kod som du klipte bort? Varför hade du html-kod i spara-skripet?

 

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Vilket jobb du lagt ner på detta! Supertack för ditt engagemang. Tyvärr till ingen hjälp eftersom inget sparas i databasen med din kod. ;-(

 

Sidan i sin helhet är:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 520000	' Limit files to 0,5MB
Count = Upload.Save(Server.MapPath("/gutefar/bilder"))
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD><TITLE>Annonser</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content=FrontPage.Editor.Document name=ProgId>
<STYLE>
<!--
div.Section1
{page:Section1;}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}

H1 {font-size: 26pt; font-family: arial, helvetica, sans-serif; font-weight: normal}
H2 {font-size: 18pt; font-family: arial, helvetica, sans-serif; font-weight: normal}
H3 {font-size: 16pt; font-weight: normal}
H4 {font-size: 14pt; font-weight: normal}
A {text-decoration: none}
A:hover {text-decoration: underline}
.style8 {font-family: "Trebuchet MS"; font-weight: bold; }
.style9 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.style1 {
font-size: 16;
font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</STYLE>
<META content="profile 000, default" name="Microsoft Theme">
<META content="tlb, default" name="Microsoft Border">
</HEAD>
<BODY text=#000000 vLink=#999999 aLink=#996699 link=#6666cc bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><FONT face="trebuchet ms, Arial, Helvetica"></FONT>
<TABLE id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="94%" borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD width="17%"><FONT face="trebuchet ms, Arial, Helvetica">
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align=center><FONT face="Copperplate Gothic Bold">Föreningen</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align=center><FONT face="Copperplate Gothic Bold">Gutefåret</FONT></P></FONT></TD>
<TD width="84%"><FONT face="trebuchet ms, Arial, Helvetica"><IMG height=72 src="http://www.gutefar.se/_borders/Band-1.gif" width=700 border=0></FONT></TD></TR></TBODY></TABLE><FONT face="trebuchet ms, Arial, Helvetica"></FONT></TD></TR></TBODY></TABLE>
<TABLE dir=ltr cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width="1%"><FONT face="trebuchet ms, Arial, Helvetica">
<P><A href="http://www.gutefar.se/index.htm"><IMG height=28 alt=Start src="http://www.gutefar.se/_derived/home_cmp_profile000_vbtn.gif" width=140 border=0></A> </P></FONT></TD>
<TD vAlign=top width=24></TD>
<TD vAlign=top><FONT face="trebuchet ms, Arial, Helvetica">

<% If Err <> 0 Then %>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>

<H3>Följande fel uppstod vid överföring av bilden:</h3>
</FONT>

<FONT SIZE=3 FACE="Arial" COLOR=#FF2020>
<h2>"<% = Err.Description %>"</h2>
</FONT>

<p><FONT SIZE=2 FACE="Arial" COLOR="#0020A0">
  <a href="javascript:history.back()">V g försök igen!</A></FONT>

     <% Else %>
</p>
<p>

       <%
'declare your variables
Dim strrubrik, strannonstext, strannonsbild, strSaljareLandskap, strSaljareNamn, strSaljareAdress, strSaljarePostnr, strSaljareOrt, strSaljareEpost, strSaljareTelefon, strSaljareMobil, strTidning
Dim sConnString, conn, sSQL
'Receiving values from Form, assign the values entered to variables
strrubrik = Upload.Form("Rubrik")
strannonstext = Upload.Form("AnnonsText")
'strannonsbild = File.FileName
strSaljareLandskap = Upload.Form("SaljareLandskap")
strSaljareNamn = Upload.Form("SaljareNamn")
strSaljareAdress = Upload.Form("SaljareAdress")
strSaljarePostnr = Upload.Form("SaljarePostnr")
strSaljareOrt = Upload.Form("SaljareOrt")
strSaljareEpost = Upload.Form("SaljareEpost")
strSaljareTelefon = Upload.Form("SaljareTelefon")
strSaljareMobil = Upload.Form("SaljareMobil")
' strTidning = "True" 'Upload.Form("Tidning")

If Upload.Form("Tidning") = "on" Then 
strTidning = "true" 
Else 
strTidning = "false"
End If



sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=h:\home\users\FA02-08-07-02_1xjmrjq2uc76sr63sy4m\menhir.se\public_html\gutefar\annonser.mdb"
'create an ADO connection object 
Set conn = Server.CreateObject("ADODB.Connection")

'Open the connection to the database
conn.Open(sConnString)
'declare SQL statement that will query the database 
sSQL = "INSERT into Annonser (Rubrik, Annonstext, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) values ('" & strrubrik & "', '" & strannonstext & "', '" & strannonsbild & "', '" & strSaljareNamn & "', '" & strSaljareAdress & "', '" & strSaljarePostnr & "', '" & strSaljareOrt & "', '" & strSaljareLandskap & "', '" & strSaljareEpost & "', '" & strSaljareTelefon & "', '" & strSaljareMobil & "', " & strTidning & ")" 
'define the connection string, specify database
'driver and the location of database

'Response.Write sSQL
'Response.End

'execute the SQL 
conn.execute(sSQL)

response.write "<P class=MsoNormal><span class=style8><FONT color=#000000 size=3>Din annons har sparats!</FONT></span></P>"
'Done. Close the connection object
conn.Close
Set conn = Nothing
%>
         <span class="style8">Din annonsinformation ser ut så här:</span> </p>
<table width="650"  border="0" cellspacing="0" cellpadding="0">
 <tr valign="top">
   <td><p> <span class="style1"><b><% = Upload.Form("Rubrik") %></b></span>
       <span class="style9">
       <br />
       <em>
       <% = Upload.Form("SaljareLandskap") %>
       </em>
     </span></p><p>
       <span class="style9">
       <% = Upload.Form("Annonstext") %>
       </span></p>
     <p>
       <span class="style9"><b>
       <% = Upload.Form("SaljareNamn") %>
       </b>
       <br />
       <% = Upload.Form("SaljareAdress") %>
       <br />
       <% = Upload.Form("SaljarePostnr") %>
     &nbsp;
       <% = Upload.Form("SaljareOrt") %>
	<br />
       E-post: <% = Upload.Form("SaljareEpost") %>
       <br />
       Telefon: <% = Upload.Form("SaljareTelefon") %>
       <br />
       Mobil: <% = Upload.Form("SaljareMobil") %>
       </span></p>
     <p>
       <span class="style9">
       <% = Upload.Form("Tidning") %>
       </span> </p></td>
   <td width="200" align="center"><span class="style9">
     <% If Count > 0 Then %>
  <% 
Set File = Upload.Files(1)
If File.ImageType = "GIF" or File.ImageType = "JPG" or File.ImageType = "PNG" Then %>
	<a href="/gutefar/bilder/<% = File.FileName%>" target="_blank"><IMG SRC="../image_thumbnailer.aspx?i=/gutefar/bilder/<% = File.FileName%>&w=195" border="0"></a><BR>
	<% = File.OriginalPath%>
	<BR>
	(Originalets storlek: 
	<% = File.ImageWidth %> 
	x 
	<% = File.ImageHeight %> 
	pixlar)

    <% Else %>
	<% = File.OriginalPath %>
    <% End If %>
    <% Else %>
Ingen bild bifogades.
   <% End If %>
<br />
     <br /> <span class="style9">1. <% response.Write strannonsbild %> <br />2. <% response.Write File.FileName %></span>
     </span></td>
 </tr>
</table>
<p>

</p>




<p>
   <% end if %>
</p>
<p class="style9">Vi kommer nu att kontrollera att annons&ouml;ren &auml;r medlem i f&ouml;reningen innan annonsen visas. Det kan d&auml;rf&ouml;r ta ett par dagar innan din annons visas p&aring; sidan. Om du inte &auml;r medlem i f&ouml;reningen kommer din annons inte att visas.</p>
<p class="style9"><a href="annonser.asp">Klicka h&auml;r f&ouml;r att komma tillbaka till annonssidan! </a></p>
<p class="style9">&nbsp;</p>
<p class="style9">&nbsp;</p></TD>
</TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><FONT face="trebuchet ms, Arial, Helvetica">
<P><FONT size=1>Copyright © 2008 Föreningen Gutefåret<BR>
</FONT></P>
</FONT></TD></TR></TBODY></TABLE></BODY></html>

 

Vad jag försöker göra är en databasdriven annonssida till www.gutefar.se, men resultatet är ju sisådär...

 

Länk till kommentar
Dela på andra webbplatser

inget sparas i databasen med din kod
Testar du den separat från din egen kod?

 

Jag skulle för enkelhetens skull dela upp det på tre olika sidor.

1. Formuläret (mestadels html)

2. Spara-skript (ingen html öht)

3. Resultatsida (vid "ok" hämtas den sparade annonsen från databasen)

 

Sida 2 (spara-skriptet) skulle då se ut ungefär som min kod ovan fast med en redirect till statussidan.

 

Dessutom skulle ja börja med en minimal upload-kedja (enligt de tre stegen ovan).

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Hur har det gått för dig?

 

Jag har hittat lite gammal ASPUpload-kod och skulle ganska enkelt kunna skriva ihop ett fungerande exempel (utifrån din tidigare kod) om du vill. Hojta till i så fall.

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Hej igen!

 

Du är verkligen hjälpsam, Cluster! Kul!

 

Jag fick svar från Persits support och deras korta svar gjorde att jag fick det att fungera.

 

Dels skrev de att jag aldrig någonsin i något sammanhang skulle använda

On Error Resume Next

. Varför vet jag inte, det kom ju från deras egen exempelfil och det gör ingen skillnad på mitt problem, men ändå.

 

Dels skulle jag infoga

set File = Upload.Files(1)

före koden

strannonsbild = File.FileName

. Och den lilla set-raden gjorde att allt fungerar exakt som det ska.

 

När jag ändå var igång gjorde jag en lite overkill sak och skrev in följande if-sats också så jag vet vad som skickas till databasen i det fältet om ingen bild bifogats:

If File Is Nothing Then 
 strannonsbild = "" 
Else 
 strannonsbild = File.FileName
End If

 

Återigen tack för ditt engagemang!

 

Länk till kommentar
Dela på andra webbplatser

On Error Resume Next

Är fiffigt när man antingen vet vilka fel som kan uppstå och anser sig kunna leva med dem eller hanterar det på annat sätt och inte vill att skriptet skall avbrytas.

Problemet blir om man inte hanterar dem så vet man ju inte heller vad som gick snett, dvs. man kanske inte ens får ut det korrekta (det som ställer till det) felmeddelandet.

 

Dels skulle jag infoga set File
Jupp, det var det jag menade när jag frågade var du "sätter File objektet". Om du tittar i min kod från Igår 20:42 så ser du att jag lade till detta.

 

[...] så jag vet vad som skickas till databasen i det fältet om ingen bild bifogats
Helt rätt tycker jag. Man ska veta vad man skjuter in i databasen :)

 

Du är verkligen hjälpsam, Cluster! Kul!
Kul att det uppskattas!

 

Här ska du få lite mer än du frågade efter... :)

Medan jag väntade på ditt svar så kodade jag ihop en liten lösning åt dig.

Klicka på plustecknet...

[log]Först lite teori:

1. Jag använder parameteriserade frågor mot databasen. Detta har (även om det kan innebära lite mer kod) stora fördelar säkerhetsmässigt.

Det är en metod för att skydda sig mot SQL-injection (vilket är mycket otrevligt)

För mer info se t.ex.

http://www.sitic.se/publikationer/namnvart/skydd-mot-sql-injektion

samt

http://shurl.org/wTtZS

 

2. Jag har tagit bort en herrans massa ful frontepage-kod. Samt använt CSS. Om du tänkt fortsätta med utveckling av webbplatser så rekommenderar jag att du lär dig mer om CSS samt varför tabeller för layout är dumt ;)

http://standardice.com/seybold/everything.html

http://www.w3schools.com/css/

 

Dessutom har jag tagit bort stora delar av din design, men detta enbart för att göra det mer lättläst/överskådligt.

 

3. Jag har i denna lösning enbart indatakontroller på serversidan, dvs. inget javascript. Det bästa/snyggaste (i dessa web 2.0-tider) är kanske att ha både och men det sämsta är helt klart att bara ha klientsideskontroller.

 

4. Lösningen bygger på tre olika filer (enl. mitt resonemang ovan). Anledningen till detta är att om det blir för mycket kod så blir det lätt svårt att överblicka, förändra och underhålla. Då blir det snabbt svårt att förutse vilka konsekvenser ev. ändringar medför. Dessutom så blir varje fil mer specialiserad (vilket jag i sig tycker är bra) och därmed även mer utbytbar. I ditt fall så kan du mid mitt upplägg (relativt) enkelt byta ut sparaskriptet om du t.ex. byter webhotell och då inte längre har tillgång till ASPUpload utan måste byta till SA FileUp el. likn.

Det är därtill alltid en bra idé att så gott det går separera asp-kod från html/css och annat "klientsidestjafs".

 

De tre filerna är:

a) annonserForm.asp

Detta är formuläret för att skapa en annons. Jag har utgått från ditt formulär men lagt till lite fiffigheter. Om man glömt att fylla i något eller om t.ex. bildfilen var för stor så kommer man tillbaks till detta formulär och får ett meddelande om vad som gick snett. Dessutom så behöver man inte då fylla i allting igen utan det "sparas" i formuläret så man bara behöver kompletteramed det saknade/rätta det som var fel.

Om man missat att fylla i ett fält så blir detta fält röd-markerat.

 

B) annonserUpload.asp

Detta är filen som sköter sparandet av bilden till disk samt sparandet av övriga datat i databasen.

Om något går fel så skickas man tillbaka till formuläret, annars så kommer man till...

 

c) annonserResult.asp

Denna sida kommer man till om allt gick bra i uppladdning och sparandet. Där ser man helt enkelt den annons man skickat in. Annonsen hämtas här från databasen (man kan alltså komma tillbaks och titta på den vid ett senare tillfälle).

 

Och här är filerna:

annonserForm.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Function styleMsngFld(strFieldName)
  IF inStr(Request("Missing"),strFieldName)>0 THEN 
     styleMsngFld="inputFieldMissing"
  ELSE 
     styleMsngFld="inputField"
  END IF
End Function

Function URLDecode(sConvert)
  sConvert = Trim(sConvert&" ")
  If sConvert="" Then
     URLDecode = ""
     Exit Function
  End If
  sOutput = Replace(sConvert, "+", " ")
  aSplit = Split(sOutput, "%")
  If IsArray(aSplit) Then
    sOutput = aSplit(0)
    For I = 0 to UBound(aSplit) - 1
     sOutput = sOutput & _
       Chr("&H" & Left(aSplit(i + 1), 2)) &_
       Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)
    Next
  End If
  URLDecode = sOutput
End Function

AnnonsText = Session("AnnonsText")
Session.Contents.Remove("AnnonsText")

strErr = Trim(Request.QueryString("error")&" ")
IF strErr<>"" THEN
  SELECT Case strErr
     Case "MissingInfo"
        strErrDesc = "Obligatorisk(a) uppgift(er) saknas."
     Case "Filesize"
        strErrDesc = "Bildfilen var för stor, annonsen kunde ej sparas. Var god försök igen med en mindre bildfil."
     Case "Other"
        strErrDesc = Session("ErrDesc")
        Session.Contents.Remove("ErrDesc")
  END SELECT
  strErr=""&_
     "<p class=""errorTitle"">Ett fel uppstod!</p>"&_
     "<p class=""errorText"">"& strErrDesc &"</p>"
END IF
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Skapa Annons</title>
<style type="text/css">
<!--
  body { 
     background-color:#FFF;
     font-family:Arial, Helvetica, sans-serif;
     font-size:0.8em;
     color:#000;
  }
  table {margin:0;padding:0;border:1px solid #000;}
  td {
     padding:2px;
     border-bottom:1px solid #CCC;
     font-family:Verdana, Arial, Helvetica, sans-serif;
     color:#000;
  }
  .errorTitle {
     font-family:Arial, Helvetica, sans-serif;
     font-size:1.2em;
     font-weight:bold;
     color:#0020A0;
  }
  .errorText {
     font-family:Arial, Helvetica, sans-serif;
     font-size:1em;
     color:#0020A0;
  }
  .inputField {
     height:auto;
     width:300px;
     padding:1px 2px;
     margin:0px 0px 0px 2px;
     font-family:Arial, Helvetica, sans-serif;
     font-size:12px;
     font-weight:normal;
     text-decoration:none;
     color:#000000;
     border: 1px solid #6B6B6B;
     background-color:#FFF;
  }
  .inputFieldMissing {
     height:auto;
     width:300px;
     padding:1px 2px;
     margin:0px 0px 0px 2px;
     font-family:Arial, Helvetica, sans-serif;
     font-size:12px;
     font-weight:normal;
     text-decoration:none;
     color:#000000;
     border: 1px solid #C00500;
     background-color:#FFDBDB;
  }
-->
</style>
</head>

<body>
<% =strErr %>
<form method="post" action="annonserUpload.asp" ENCTYPE="multipart/form-data" lang="sv">
  <table>
     <tr>
        <td align="left" valign="top">Rubrik*:</td>
        <td align="left" valign="top"><input type="text" name="Rubrik" class="<%=styleMsngFld("Rubrik")%>" value="<%=URLDecode(Request("Rubrik"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Annonstext*:</td>
        <td align="left" valign="top"><textarea type="text" name="AnnonsText" cols="60" rows="5" class="<%=styleMsngFld("AnnonsText")%>"><%=AnnonsText%></textarea></td>
     </tr>
     <tr>
        <td align="left" valign="top">Annonsbild:</td>
        <td align="left" valign="top">
           <input type="file" name="Annonsbild" class="<%=styleMsngFld("Annonsbild")%>" value="<%=URLDecode(Request("Annonsbild"))%>"><br />
           <span style="font-size:85%;">OBS! Bildens filnamn får ej innehålla mellanslag, å, ä, ö eller andra specialtecken!</span><br>
        </td>
     </tr>
     <tr>
        <td align="left" valign="top">Namn*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareNamn" class="<%=styleMsngFld("SaljareNamn")%>" value="<%=URLDecode(Request("SaljareNamn"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Adress*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareAdress" class="<%=styleMsngFld("SaljareAdress")%>" value="<%=URLDecode(Request("SaljareAdress"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Postnr*:</td>
        <td align="left" valign="top"><input type="text" name="SaljarePostnr" class="<%=styleMsngFld("SaljarePostnr")%>" value="<%=URLDecode(Request("SaljarePostnr"))%>" style="width:45px;" maxlength="6"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Ort*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareOrt" class="<%=styleMsngFld("SaljareOrt")%>" value="<%=URLDecode(Request("SaljareOrt"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Landskap*:</td>
        <td align="left" valign="top">
           <select name="SaljareLandskap" class="<%=styleMsngFld("SaljareLandskap")%>" style="width:auto;">
              <option disabled selected>Välj</option>
              <option value="Uppland">Uppland</option>
           </select>         </td>
     </tr>
     <tr>
        <td align="left" valign="top">Epost*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareEpost" class="<%=styleMsngFld("SaljareEpost")%>" value="<%=URLDecode(Request("SaljareEpost"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Telefon*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareTelefon" class="<%=styleMsngFld("SaljareTelefon")%>" value="<%=URLDecode(Request("SaljareTelefon"))%>"></td>
     </tr>
     <tr>
        <td align="left" valign="top">Mobil*:</td>
        <td align="left" valign="top"><input type="text" name="SaljareMobil" class="<%=styleMsngFld("SaljareMobil")%>" value="<%=URLDecode(Request("SaljareMobil"))%>"></td>
     </tr>
     <tr valign="top">
        <td align="left" valign="top" nowrap>&nbsp;</td>
        <td align="left" valign="top">
           <p>
           <input type="checkbox" name="Tidning"  value="true">
           Annonsen ska också tryckas i nästa nummer av medlemstidningen.<br>
           (Ordinarie datum för manusstopp gäller)            </p>         </td>
     </tr>
     <tr>
        <td colspan="2" align="center" style="border:none;">
           <p style="margin-top:1em;color:#990000;">&nbsp;<strong>* Obligatorisk uppgift.</strong><br>
           V g skriv bindestreck (-) om du t ex saknar mobiltelefon.</p>
        </td>
     </tr>
     <tr>
        <td colspan="2" align="center" style="border:none;"><p style="margin-top:1em;margin-bottom:1em;"><input type="submit" value="Fortsätt ->"></p></td>
       </tr>
  </table>
</form>
</body>
</html>

 

annonserUpload.asp

<%
SET Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 520000   ' Limit files to 0,5MB
strBasePath = Server.MapPath("/gutefar")
strImagePath = strBasePath &"\bilder"
Count = Upload.Save(strImagePath)

If Err.Number = 8 Then
  strNextPage="annonserForm.asp?error=Filesize"
Else
  If Err <> 0 Then
     strNextPage="annonserForm.asp?error=Other"
     Session("ErrDesc")=Err.Description
  Else
     FOR Each item IN Upload.Form
        IF (item.name<>"Annonsbild" AND item.name<>"Tidning") AND trim(item.value&" ")="" THEN
           strMissing=strMissing&Server.URLEncode(item.name)&","
        ELSE
           IF item.name="AnnonsText" THEN
              Session("AnnonsText")=item.value
           ELSE
              qStr=qStr&"&"&item.name&"="&item.value   
           END IF
        END IF   
        strMakeVar=item.name&"="""&Replace(Trim(item.value&" "),vbCrLf,"|")&""""
        Execute(strMakeVar)
     Next
     IF strMissing<>"" THEN    
        strMissing=Left(strMissing,Len(strMissing)-1) 
        strNextPage="annonserForm.asp?error=MissingInfo&Missing="&strMissing&qStr
     ELSE
        Annonstext=Replace(Trim(Annonstext),"|",vbCrLf)
        IF Count=1 THEN
           SET File = Upload.Files("Annonsbild")
           Annonsbild = File.FileName
           SET File = Nothing
        ELSE
           Annonsbild = ""
        END IF
        IF lCase(cStr(Tidning)) = "true" THEN 
           Tidning = 1
        Else 
           Tidning = 0
        End If

        SET objConn = Server.CreateObject("ADODB.Connection")
        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&strBasePath&"\annonser.mdb"
        objConn.open connStr
        sqlStmt = "INSERT INTO Annonser (Datum, Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
        SET cmd = server.createobject("ADODB.command") 
        cmd.activeConnection = objConn 
        cmd.CommandText = SQLStmt 
        SET objRS = cmd.Execute (, array(Now(),Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning)) 
        SET objRS = Nothing
        SET objRS = objConn.Execute("SELECT @@IDENTITY")
        strAdId = objRS(0)
        SET objRS = Nothing
        SET cmd = Nothing
        objConn.Close
        SET objConn = Nothing

        IF Err <> 0 THEN
           strNextPage="annonserForm.asp?error=Other"
           Session("ErrDesc")=Err.Description
        ELSE
           strNextPage="annonserResult.asp?status=saved&adId=" & strAdId
        END IF

     END IF 'Missing input

  END IF ' Other Error

END IF ' Filesize

SET Upload = Nothing

Response.Redirect(strNextPage)
%>

 

annonserResult.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Annonser</title>
<style>
  <!--
  body { 
     background-color:#FFF;
     font-family:Arial, Helvetica, sans-serif;
     font-size:0.8em;
     color:#000;
  }
  A:link { color:#6666cc; text-decoration: none }
  A:active { color:#996699; text-decoration: none }
  A:visited { color:#999999; text-decoration: none }
  A:hover {color:#F45602; text-decoration: underline }
  A.img {border:none;}
  P {margin:0;margin-bottom:0.5em;padding:0;}
  table {margin:0;padding:0;border:1px solid #000;}
  td {
     padding:2px;
     font-family:Verdana, Arial, Helvetica, sans-serif;
     color:#000;
  }
  #annonsText {
     padding:4px;
     border:1px solid #CCC;
     font-family:Verdana, Arial, Helvetica, sans-serif;
     font-size:0.8em;
     color:#000;
     text-align:left;
  }
  -->
</style>
</head>
<body>
<%
  Session.Contents.Remove("AnnonsText")
  strAdId = Request("adId")
  IF NOT isNumeric(strAdId) THEN
  %>
  <p class="errorTitle">Felaktigt Annonsnummer!</p>
<%
  ELSE
     strBasePath = Server.MapPath("/gutefar")
     strImagePath = strBasePath &"\bilder"
     strSQL = ""&_
        "SELECT "&_
        "   Rubrik, "&_
        "   Annonsbild, "&_
        "   SaljareNamn, "&_
        "   SaljareAdress, "&_
        "   SaljarePostnr, "&_
        "   SaljareOrt, "&_
        "   SaljareLandskap, "&_
        "   SaljareEpost, "&_
        "   SaljareTelefon, "&_
        "   SaljareMobil, "&_
        "   Tidning, "&_
        "   Annonstext "&_
        "FROM Annonser WHERE AnnonsId=?"

     SET objConn = Server.CreateObject("ADODB.Connection")
     connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&strBasePath&"\annonser.mdb"
     objConn.open connStr


     SET objConn = Server.CreateObject("ADODB.Connection")
     connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&strBasePath&"\annonser.mdb"
     objConn.open connStr
     SET cmd = server.createobject("ADODB.command") 
     cmd.activeConnection = objConn 
     cmd.CommandText = strSQL 
     SET objRS = cmd.Execute (, array(strAdId)) 
     IF objRS.EOF THEN
        adFound=False
     ELSE
        adFound=True
        strRubrik = objRS("Rubrik")
        strAnnonsbild = objRS("Annonsbild")
        strSaljareNamn = objRS("SaljareNamn")
        strSaljareAdress = objRS("SaljareAdress")
        strSaljarePostnr = objRS("SaljarePostnr")
        strSaljareOrt = objRS("SaljareOrt")
        strSaljareLandskap = objRS("SaljareLandskap")
        strSaljareEpost = objRS("SaljareEpost")
        strSaljareTelefon = objRS("SaljareTelefon")
        strSaljareMobil = objRS("SaljareMobil")
        strTidning = objRS("Tidning")
        strAnnonstext = Replace(Trim(objRS("Annonstext")&" "),vbCrLf,"<br>")
     END IF
     SET objRS = Nothing

     objConn.Close
     SET objConn = Nothing
  END IF

  IF NOT adFound THEN
%>
<p class="errorTitle">Kunde inte hitta angiven annons!</p>
<%   
  ELSE
%>
  <h2>Din annons har sparats!</h2>
  <h3>Din annonsinformation ser ut så här:</h3>
<table>
  <tr valign="top">
     <td>
        <p style="font-weight:bold;"><% = strSaljareNamn %></p>
           <p><% = strSaljareAdress %><br />
        <% = strSaljarePostnr &" "& strSaljareOrt %></p>
           <p>
              E-post: <% = strSaljareEpost %><br>
              Telefon: <% = strSaljareTelefon %><br>
              Mobil: <% = strSaljareMobil %>
        </p>
        </td>
        <td width="200" align="center">
           <% IF strAnnonsbild<>"" THEN %>
           <p><a href="/gutefar/bilder/<%=strAnnonsbild%>" target="_blank"><img src="../image_thumbnailer.aspx?i=/gutefar/bilder/<% = strAnnonsbild%>&w=195"></a></p>
           <% ELSE %>
              <p>Ingen bild bifogades.</p>
           <% END IF %>
           <div id="annonsText"><p style="font-weight:bold;"><%=strRubrik%>!</p><p><%=strAnnonstext%></p></div>
        </td>
     </tr>
</table>
<p>
  Vi kommer nu att kontrollera att annonsören är medlem i föreningen innan annonsen visas.<br>
  Det kan därför ta ett par dagar innan din annons visas på sidan. Om du inte är medlem i föreningen kommer din annons inte att visas.
</p>
<p><a href="annonser.asp">Klicka här för att komma tillbaka till annonssidan!</a></p>
<%
END IF 'adFound
%>
</body>
</html>

 

Du kan även titta på och ladda ned filerna från

http://code.eforum.kicks-ass.net/?file=gutefar_annonserForm.asp

 

http://code.eforum.kicks-ass.net/?file=gutefar_annonserUpload.asp

 

http://code.eforum.kicks-ass.net/?file=gutefar_annonserResult.asp[/log]

 

Testa gärna och se vad du tycker om upplägget samt de nya funktionerna.

Oavsett så rekomenderar jag att du _åtminstone_ anammar parameteriserade frågor annars riskerar du att få stora problem.

Även stora siter (ingen nämnd ingen glömd) har pga SQL-injection infekterats med elak kod som försöker smitta alla besökare.

 

Om du har några frågor så är det bara att säga till.

 

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Oj, vilket jobb du lagt ner! Jag är ingen mästare på asp ska jag erkänna så jag kan nog få ut mycket kunskap ur alla länkar du sänt tillsammans med all koden. Hinner dock inte titta på det förrän imorgon.

 

Jag tog över ansvaret för hemsidan för ca en vecka sedan av en som arbetat uteslutande i FrontPage och jag tänkte då att en automatisering av föreningens annonser skulle underlätta eftersom jag saknar FrontPage. Dessutom tar det en massa tid att klippa och klistra i html för varje annons som ska in resp ut. Ska själv rensa stilar och FrontPage-kod senare.

 

En fråga till som jag kommit på: om man använder AspUpload för ett formulär som det jag har, men vill att det ska vara frivilligt att ladda upp fil, hur gör man då? I nuläget fungerar det alldeles utmärkt om fil bifogas, men om man väljer att spara utan att bifoga fil får man bara felmeddelanden. Borde väl vara enkelt att få AspUpload att förstå att om en fil saknas så ska övrig info från formuläret sparas i databasen, eller?

 

Länk till kommentar
Dela på andra webbplatser

men vill att det ska vara frivilligt att ladda upp fil
Det är det med min kod, kolla där :-)

 

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Din version funkar jättebra! Super! Är det ok om jag använder mig av den istället för att försöka fixa min egen? Får dock lägga in det i gamla layouten så länge...

 

Länk till kommentar
Dela på andra webbplatser

Sorry, men det finns ett problem - om man använder citationstecken i annonstexten får man felmeddelande. Är det enkelt att fixa?

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ah, liten miss av mig. Lätt ordnat.

annonserUpload.asp:

<%
SET Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
'On Error Resume Next

Upload.SetMaxSize 520000   ' Limit files to 0,5MB
strBasePath = Server.MapPath("/gutefar")
strImagePath = strBasePath &"\bilder"
Count = Upload.Save(strImagePath)

If Err.Number = 8 Then
  strNextPage="annonserForm.asp?error=Filesize"
Else
  If Err <> 0 Then
     strNextPage="annonserForm.asp?error=Other"
     Session("ErrDesc")=Err.Description
  Else
     FOR Each item IN Upload.Form
        strVar = cStr(Trim(item.name&" "))
        strVal = cStr(Trim(item.value&" "))
        IF (strVar<>"Annonsbild" AND strVar<>"Tidning") AND strVal="" THEN
           strMissing=strMissing&strVar&","
        ELSE
           IF strVar="AnnonsText" THEN
              Session("AnnonsText")=strVal
           ELSE
              qStr=qStr&"&"&strVar&"="&Server.URLEncode(strVar)   
           END IF
        END IF 
        strVal = Replace(strVal,chr(34),"&quot;")
        strVal = Replace(strVal, vbCrLf, chr(10))
        strMakeVar = strVar&"="""&strVal&""""      
        Execute(strMakeVar)
     Next
     IF strMissing<>"" THEN    
        strMissing=Left(strMissing,Len(strMissing)-1) 
        strNextPage="annonserForm.asp?error=MissingInfo&Missing="&strMissing&qStr
     ELSE
        Annonstext = Replace(Trim(Annonstext),"|",vbCrLf)
        IF Count=1 THEN
           SET File = Upload.Files("Annonsbild")
           Annonsbild = File.FileName
           SET File = Nothing
        ELSE
           Annonsbild = ""
        END IF
        IF lCase(cStr(Tidning)) = "true" THEN 
           Tidning = 1
        Else 
           Tidning = 0
        End If

        SET objConn = Server.CreateObject("ADODB.Connection")
        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&strBasePath&"\annonser.mdb"
        objConn.open connStr
        sqlStmt = "INSERT INTO Annonser (Datum, Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
        SET cmd = server.createobject("ADODB.command") 
        cmd.activeConnection = objConn 
        cmd.CommandText = SQLStmt 
        SET objRS = cmd.Execute (, array(Now(),Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning)) 
        SET objRS = Nothing
        SET objRS = objConn.Execute("SELECT @@IDENTITY")
        strAdId = objRS(0)
        SET objRS = Nothing
        SET cmd = Nothing
        objConn.Close
        SET objConn = Nothing

        IF Err <> 0 THEN
           strNextPage="annonserForm.asp?error=Other"
           Session("ErrDesc")=Err.Description
        ELSE
           strNextPage="annonserResult.asp?status=saved&adId=" & strAdId
        END IF

     END IF 'Missing input

  END IF ' Other Error

END IF ' Filesize

SET Upload = Nothing

Response.Redirect(strNextPage)
%>

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...