Avatar billede webbygger Nybegynder
20. februar 2005 - 22:40 Der er 11 kommentarer og
1 løsning

Opgave til eagleeye m.fl

Jeg har sammenbikset en formular og fundet upload form - disse to ting har jeg prøvet at sætte sammen uden den større succes, nu har jeg siddet kikket/arbejdet på det hele weekend uden held, så hvad siger I til det ???

Formular :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>FangstRapport</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.bold {
    font-weight: bold;
}
-->
</style>
</head>

<body background="/fiskegrej/fangstrapport/baggrund.jpg" onload="parent.document.getElementById('indhold').style.height=((document.body.scrollHeight)?document.body.scrollHeight:document.body.offsetHeight)+'px'">
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

dato = Replace(Request.form("dato"),"'","''") 'dato og klokkeslæt

klokke = Replace(Request.form("klokke"),"'","''") ' tal
sted = Replace(Request.form("sted"),"'","''") ' tekst
vindretning = Replace(Request.form("vindretning"),"'","''") 'tekst
vindstyrke = Replace(Request.form("vindstyrke"),"'","") ' notat
vandstand = Replace(Request.form("vandstand"),"'","") ' notat
vandtemparatur = Replace(Request.form("vandtemparatur"),"'","") ' notat
art = Replace(Request.form("art"),"'","''") ' tekst
langde = Replace(Request.form("langde"),"'","") ' notat
vagt = Replace(Request.form("vagt"),"'","") ' notat
agn = Replace(Request.form("agn"),"'","") ' notat
farve = Replace(Request.form("farve"),"'","") ' notat
bemarkning = Replace(Request.form("bemarkning"),"'","") ' notat
bemarkning = Replace(bemarkning,vbCrLf,"<br>")
  billede = Replace(Request.form("billede"),"'","''") ' tekst
 
 
if dato="" or sted="" or art="" or vagt=""  then
  Response.Write "Fejl i indtastningen."
  Response.End
else
  'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst
  sql = "insert into skema (dato, klokke, sted, vindretning, vindstyrke, vandstand, vandtemparatur, art, langde, vagt, agn, farve, bemarkning, billede  ) values ("
  sql = sql & "'" & dato & "', "
  sql = sql & "'" & klokke & "', "
  sql = sql & "'" & sted & "', "
  sql = sql & "'" & vindretning & "', "
  sql = sql & "'" & vindstyrke & "', "
  sql = sql & "'" & vandstand & "', "
  sql = sql & "'" & vandtemparatur & "', "
  sql = sql & "'" & art & "', "
  sql = sql & "'" & langde & "', "
  sql = sql & "'" & vagt & "', "
  sql = sql & "'" & agn & "', "
  sql = sql & "'" & farve & "', "
  sql = sql & "'" & bemarkning & "', "
  sql = sql & "'" & billede & "'"
  sql = sql & ")"




  set Conn = Server.CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("fang.mdb")
  Conn.Open strConn

  Conn.Execute(sql)
  Conn.Close
  Set conn=nothing
 
  Response.redirect "sidstetest.asp" 
end if
end if 
%>

<script>

function validate(theform) { 
  if(theform.dato.value=='') {
    alert ('Dato felt skal udfyldes');
    return false;
 
  if(theform.klokke.value=='') {
    alert ('Klokken felt skal udfyldes');
    return false;
 
  if(theform.sted.value=='') {
    alert ('Sted felt skal udfyldes');
    return false;
  }
 
if(theform.art.value=='') {
    alert ('Art felt skal udfyldes');
    return false;
  }
 
if(theform.vagt.value=='') {
    alert ('Vægt felt skal udfyldes');
    return false;
  }
 
   
  return true;
}
</script>


<h3 align="center">FangstRapport !</h3>
<table width="50%" border="0" cellpadding="2" cellspacing="0">
  <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post"  ENCTYPE="multipart/form-data" onsubmit="return validate(this);">
  <tr>
    <td class="bold">Dato:</td>
    <td><input type="text" name="dato"></td>
  </tr>
  <tr>
    <td class="bold">Klokken:</td>
    <td><input type="text" name="klokke"></td>
  </tr>
  <tr>
    <td class="bold">Sted:</td>
    <td><input type="text" name="sted"></td>
  </tr>
  <tr>
    <td class="bold">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign="top" class="bold">Vindretning:</td>
    <td><form name="form2" method="post" >
  <select name="vindretning">
    <option>V&aelig;lg vindretning</option>
    <option value="N">N</option>
    <option value="N&Oslash;">N&Oslash;</option>
    <option value="&Oslash;">&Oslash;</option>
    <option value="&Oslash;S">&Oslash;S</option>
    <option value="S">S</option>
    <option value="SV">SV</option>
    <option value="V">V</option>
    <option value="VN">VN</option>
  </select></td></tr>
  <tr>
    <td valign="top" class="bold">Vindstyrke:</td>
    <td><form name="form3" method="post" >
  <select name="vindstyrke">
    <option>V&aelig;lg vindstyrke</option>
    <option value="stille">Stille</option>
    <option value="svag">Svag</option>
    <option value="let">Let</option>
    <option value="j&aelig;vn">J&aelig;vn</option>
    <option value="frisk">Frisk</option>
    <option value="h&aring;rd">H&aring;rd</option>
    <option value="kulling">Kulling</option>
    <option value="storm">Storm</option>
  </select></td></tr>
  <tr>
      <td class="bold">Vandstand:</td>
    <td><input type="text" name="vandstand"></td>
  </tr>
  <tr>
      <td class="bold">Vandtemperatur:</td>
    <td><input type="text" name="vandtemparatur"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
      <td class="bold">Art:</td>
    <td><input type="text" name="art"></td>
  </tr>
  <tr>
      <td class="bold">L&aelig;ngde:</td>
    <td><input type="text" name="langde"></td>
  </tr>
  <tr>
      <td class="bold">V&aelig;gt:</td>
    <td><input type="text" name="vagt"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
      <td class="bold">Agn:</td>
    <td><input type="text" name="agn">
        <span class="bold">Farve:</span>
        <input type="text" name="farve"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
      <td valign="top" class="bold">Bem&aelig;rkning:</td>
    <td><textarea name="bemarkning" cols="50" rows="20"></textarea>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
      <td class="bold">Billede link:</td>
      <td><input type="file" name="billede" size="50"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
      <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><input type="submit" name="send" value="Send"></td>
    <td><input type="reset" name="Reset" value=" Slet "></td>
  </tr>
</table>
</td>
  </tr></form>
</table>

</body>
</html>
Avatar billede softspot Forsker
20. februar 2005 - 23:07 #1
Er der nogle symptomer eller virker det bare ikke...? :)
Avatar billede webbygger Nybegynder
20. februar 2005 - 23:11 #2
Det er der, men jeg ved ikke om det kan bruges til ....

Når der bliver sendt kommer denne = Fejl i indtastningen
Siden kan ses her http://www.web-byggeren.dk/fiskegrej/fangstrapport/fangstindex.asp
Avatar billede softspot Forsker
20. februar 2005 - 23:27 #3
Prøv at udskrive de forskellige parametre der er betydende for om du får en fejl eller ej (dato, sted, art og vagt) og gerne begge versioner, dvs. dem der ligger i request.form og dem du har udført replace på. Det er lettere at se hvad der er galt, hvis du ser de data der rent faktisk arbejdes på, frem for hvad man tror der arbejdes på...

Hvis du ikke selv kan gennemskue problemet, så kan du poste resultatet her, så lover jeg at kigge på det imorgen (lige nu skal jeg i seng :)).
Avatar billede eagleeye Praktikant
20. februar 2005 - 23:56 #4
det det er en almendelig for skal du ikke bruge ENCTYPE="multipart/form-data" i form tagen, den bruges kun ved fil upload. Så prøv at rette form tagen til:

<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post"  onsubmit="return validate(this);">
Avatar billede webbygger Nybegynder
21. februar 2005 - 20:51 #5
HMmm jeg har gået og "fint" tænkt på min formular på jobbet idag - er det ikke det mest praktisk, at når man vil upload et billedet - åbens der et nyt minimeret vindue op med uploading siden og efter uploading vender man tilbage til formularet og sender hele formularet......Det var "bare" en tanke - hvad syntes I er mest praktisk og muligt ?
Avatar billede eagleeye Praktikant
21. februar 2005 - 20:53 #6
Hvis du skal upload et billede skal du havde en upload komponent (eks: ASPupload, ASPsmartUpload) eller et upload script.
Avatar billede webbygger Nybegynder
21. februar 2005 - 20:59 #7
Hej Eagleeye !

Det har jeg + script
som ser sådan ud :

<%

'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=1
       



       
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Only allow txt or htm files
'  ***************************
  mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,bmp,png"

'  Deny physical path
'  *******************
  mySmartUpload.DenyPhysicalPath = False

'  Only allow files smaller than 50000 bytes
'  *****************************************
  mySmartUpload.MaxFileSize = 50000



'  Upload
'  ******
  mySmartUpload.Upload

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If file.IsMissing = false Then
      '  Save the files with his original names in a virtual path of the web server
      '  **************************************************************************
        file.SaveAs(server.mappath("uploads/" & file.FileName))
if CStr(intCount) = "0" then   
        streng = streng & "'" & "uploads/" & file.FileName & "', "
else
streng = streng & "'" & "uploads/" & file.FileName & "'"
end if
        ' sample with a physical path
        'file.SaveAs("c:\" & file.FileName)

      '  Tæl antal filer...
      '  ******************************************
        intCount = intCount + 0
      End If
  Next

'  Display the number of files which could be uploaded
'  ***************************************************
set rs = Server.CreateObject("ADODB.Connection")
str = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("fang.mdb")
rs.open str
sql = "insert into skema(billede) values(" & streng & ")"
set rs = rs.execute(sql)


'  Display the number of files uploaded
'  ************************************
  Response.Write(" Billedet er uploaded.<BR>")
%>


Men hvad er mest hensigtmæssigt skal det laves som det er nu eller det med minimeret vindue ???
Avatar billede eagleeye Praktikant
21. februar 2005 - 21:28 #8
Umiddelbart ville jeg lave det på samme side så man uploader billede på samme tid som formen sendes. Hvis man først uploader billedet og så ikke sender formen hvad sker der så med billedet?
Avatar billede webbygger Nybegynder
21. februar 2005 - 21:47 #9
Godt nok - så bliver det sådan, men hvor skal jeg indsætte mit uploads script for, at det virker ???

Når man har udfyldt formularen bliver man videre stillet til denne side (sidesttest.asp) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    height: 100px;
    margin: 0px;
    padding: 0px;
    color: #000066;
}
-->
</style>
</head>

<body background="/fiskegrej/fangstrapport/baggrund.jpg" onload="parent.document.getElementById('indhold').style.height=((document.body.scrollHeight)?document.body.scrollHeight:document.body.offsetHeight)+'px'">
<div align="left">
  <h4>Du har tilf&oslash;jet f&oslash;lgende i din fangstrapporter:</h4>
  <p>
    <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("fang.mdb")




sql = "SELECT TOP 1 * FROM skema ORDER BY id desc"
Set rs = Conn.Execute (sql)

                Response.write "<B>" & "Fangstdato:" & "&nbsp;" & "</B>" & rs("dato") & "<br>"
                Response.write "<B>" & "Klokken:" & "&nbsp;" & "</B>" & rs("klokke") & "<br>"
                Response.write "<B>" & "Sted:" & "&nbsp;" & "</B>" & rs("sted") & "<br>" & "<br>"
                Response.write "<B>" & "Vindretning:" & "&nbsp;" & "</B>" & rs("vindretning") & "<br>"
                Response.write "<B>" & "Vindstyrke:" & "&nbsp;" & "</B>" & rs("vindstyrke") & "<br>"
                Response.write "<B>" & "Vandstand:" & "&nbsp;" & "</B>" & rs("vandstand") & "<br>"
                Response.write "<B>" & "Vandtemperatur:" & "&nbsp;" & "</B>" & rs("vandtemparatur") & "<br>" & "<br>"
                Response.write "<B>" & "Art:" & "&nbsp;" & "</B>" & rs("art") & "<br>"
                Response.write "<B>" & "Vægt:" & "&nbsp;" & "</B>" & rs("vagt") & "<br>"
                Response.write "<B>" & "Længde:" & "&nbsp;" & "</B>" & rs("langde") & "<br>"               
                Response.write "<B>" & "Agn:" & "&nbsp;" & "</B>" & rs("agn") & "&nbsp;" & rs("farve") & "<br>"
                Response.write "<B>" & "Bemærkning:" & "&nbsp;" & "</B>" & rs("bemarkning") & "<br>" & "<br>"
                Response.write "<B>" & "Billede link:" & "&nbsp;" & "</B>" & rs("billede")
                 

%>
  </p>
</div>
</body>
</html>
Avatar billede eagleeye Praktikant
21. februar 2005 - 22:00 #10
Det som skal ændre er dette styk koden som gemmer i databasen:

<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

dato = Replace(Request.form("dato"),"'","''") 'dato og klokkeslæt

klokke = Replace(Request.form("klokke"),"'","''") ' tal
sted = Replace(Request.form("sted"),"'","''") ' tekst
vindretning = Replace(Request.form("vindretning"),"'","''") 'tekst
vindstyrke = Replace(Request.form("vindstyrke"),"'","") ' notat
vandstand = Replace(Request.form("vandstand"),"'","") ' notat
vandtemparatur = Replace(Request.form("vandtemparatur"),"'","") ' notat
art = Replace(Request.form("art"),"'","''") ' tekst
langde = Replace(Request.form("langde"),"'","") ' notat
vagt = Replace(Request.form("vagt"),"'","") ' notat
agn = Replace(Request.form("agn"),"'","") ' notat
farve = Replace(Request.form("farve"),"'","") ' notat
bemarkning = Replace(Request.form("bemarkning"),"'","") ' notat
bemarkning = Replace(bemarkning,vbCrLf,"<br>")
  billede = Replace(Request.form("billede"),"'","''") ' tekst


if dato="" or sted="" or art="" or vagt=""  then
  Response.Write "Fejl i indtastningen."
  Response.End
else
  'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst
  sql = "insert into skema (dato, klokke, sted, vindretning, vindstyrke, vandstand, vandtemparatur, art, langde, vagt, agn, farve, bemarkning, billede  ) values ("
  sql = sql & "'" & dato & "', "
  sql = sql & "'" & klokke & "', "
  sql = sql & "'" & sted & "', "
  sql = sql & "'" & vindretning & "', "
  sql = sql & "'" & vindstyrke & "', "
  sql = sql & "'" & vandstand & "', "
  sql = sql & "'" & vandtemparatur & "', "
  sql = sql & "'" & art & "', "
  sql = sql & "'" & langde & "', "
  sql = sql & "'" & vagt & "', "
  sql = sql & "'" & agn & "', "
  sql = sql & "'" & farve & "', "
  sql = sql & "'" & bemarkning & "', "
  sql = sql & "'" & billede & "'"
  sql = sql & ")"




  set Conn = Server.CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("fang.mdb")
  Conn.Open strConn

  Conn.Execute(sql)
  Conn.Close
  Set conn=nothing

  Response.redirect "sidstetest.asp"
end if
end if
%>


Det skal rettes sådan request.form("xx") bliver til mysmartupload.form("xx"):



<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  Dim mySmartUpload
  Dim file
  Dim intCount
  intCount=1
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

  mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,bmp,png"

  mySmartUpload.DenyPhysicalPath = False
  mySmartUpload.MaxFileSize = 50000

  mySmartUpload.Upload

  For each file In mySmartUpload.Files
      If file.IsMissing = false Then
        file.SaveAs(server.mappath("uploads/" & file.FileName))
if CStr(intCount) = "0" then 
        streng = streng & "'" & "uploads/" & file.FileName & "', "
else
streng = streng & "'" & "uploads/" & file.FileName & "'"
end if
        intCount = intCount + 0
      End If
  Next


dato = Replace(mySmartUpload.form("dato"),"'","''") 'dato og klokkeslæt

klokke = Replace(mySmartUpload.form("klokke"),"'","''") ' tal
sted = Replace(mySmartUpload.form("sted"),"'","''") ' tekst
vindretning = Replace(mySmartUpload.form("vindretning"),"'","''") 'tekst
vindstyrke = Replace(mySmartUpload.form("vindstyrke"),"'","") ' notat
vandstand = Replace(mySmartUpload.form("vandstand"),"'","") ' notat
vandtemparatur = Replace(mySmartUpload.form("vandtemparatur"),"'","") ' notat
art = Replace(mySmartUpload.form("art"),"'","''") ' tekst
langde = Replace(mySmartUpload.form("langde"),"'","") ' notat
vagt = Replace(mySmartUpload.form("vagt"),"'","") ' notat
agn = Replace(mySmartUpload.form("agn"),"'","") ' notat
farve = Replace(mySmartUpload.form("farve"),"'","") ' notat
bemarkning = Replace(mySmartUpload.form("bemarkning"),"'","") ' notat
bemarkning = Replace(bemarkning,vbCrLf,"<br>")
billede = streng ' tekst


if dato="" or sted="" or art="" or vagt=""  then
  Response.Write "Fejl i indtastningen."
  Response.End
else
  'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst
  sql = "insert into skema (dato, klokke, sted, vindretning, vindstyrke, vandstand, vandtemparatur, art, langde, vagt, agn, farve, bemarkning, billede  ) values ("
  sql = sql & "'" & dato & "', "
  sql = sql & "'" & klokke & "', "
  sql = sql & "'" & sted & "', "
  sql = sql & "'" & vindretning & "', "
  sql = sql & "'" & vindstyrke & "', "
  sql = sql & "'" & vandstand & "', "
  sql = sql & "'" & vandtemparatur & "', "
  sql = sql & "'" & art & "', "
  sql = sql & "'" & langde & "', "
  sql = sql & "'" & vagt & "', "
  sql = sql & "'" & agn & "', "
  sql = sql & "'" & farve & "', "
  sql = sql & "'" & bemarkning & "', "
  sql = sql & "" & billede & ""
  sql = sql & ")"


  set Conn = Server.CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("fang.mdb")
  Conn.Open strConn

  Conn.Execute(sql)
  Conn.Close
  Set conn=nothing

  Response.redirect "sidstetest.asp"
end if
end if 
%>
Avatar billede webbygger Nybegynder
21. februar 2005 - 22:14 #11
Kanon ;oD
Tak for hjælpen Eagleeye - smider du et svar !
Avatar billede eagleeye Praktikant
21. februar 2005 - 22:14 #12
Ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester