Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ASP Pulma?

Nimble [07.04.2008 20:48:28]

#

Elikkäs tälläinen pulma olisi. Miten saan toimimaan tietojen tallennuksen serverille allaolevalla koodinpätkällä? Lähetyksen saan pelaamaan normaalisti mut herjaa että tapahtui virhe tallennuksessa... Apua kaivataan :)

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Palautelomake -  esimerkki</title>
</head>

<body>
<%
If (Request.ServerVariables("REQUEST_METHOD")<> "POST") Then
' GET pyyntö, sijoita lomake tänne
%>

<form id="form1" name="form1" method="post" action="demo.asp">
  <p><label for="textfield">Nimi</label>
  <input name="l_nimi" type="text" id="l_nimi" size="50" maxlength="255" />
</p>
  <p>
    <label for="label">Sähköposti</label>
    <input name="l_email" type="text" id="label" size="50" maxlength="255" />
</p>
  <p>
    <label for="textarea">Viesti</label>
    <textarea name="l_viesti" cols="50" rows="10" id="l_viesti"></textarea>
  </p>
  <p>Halulan, että minuun otetaan yhteyttä: </p>
  <p>
    <input name="l_yhteys" type="radio" value="email" id="radiobutton" />
    <label for="radiobutton">Sähköpostitse </label>
    <input name="l_yhteys" type="radio" value="muu" id="radio" />
    <label for="radio">Muuten (miten, erittele viestissä)</label>
  </p>
  <p>
    <input type="submit" name="Submit" value="Lähetä" />
  </p>
</form>
<%
Else
  ' POST pyyntö, sijoita lomakkeen käsittely tänne

   ' alustetaan / luodaan tarvittavat muuttujat
    Dim strNimi, strEmail, strViesti, strYhteystapa

    ' ja sijoitetaan arvot
    strNimi = Request.Form("l_nimi")
    strEmail = Request.Form("l_email")
    strViesti = Request.Form("l_viesti")
    strYhteystapa = Request.Form("l_yhteys")

    If strEmail = "" Then
         Response.Write "<p>Virhe. Sähköpostiosoite on pakollinen tieto. Ole hyvä ja palaa " & _
         "edelliselle sivulle painamalla selaimesi Back-painiketta.</p>"
    Else
      If strNimi = "" Then
       strNimi = "n/a"
      End If

      If strViesti = "" Then
       strViesti = "n/a"
      End If

      If strYhteystapa = "" Then
       strYhteystapa = "n/a"
      End If



' lähettäminen eteenpäin CDONTS-komponentin avulla
On Error Resume Next
Set Mailer = Server.CreateObject("CDONTS.NewMail")
If err <> 0 Then
   ' Response.Write("ERROR " & err.number & " - " & err.description)
End If
Mailer.From = strEmail
Mailer.Subject = "Palaute"
Mailer.To = "matti.mainio@jossain.com"
Mailer.Body = strViesti &vbcrlf & "Yhteydenottotapa: " &strYhteystapa
Mailer.Send

set Mailer = nothing


' SQL-kysely
strSQL = "INSERT INTO viestit (lahettaja, maili, viesti, yhteystapa, aika) "
strSQL = strSQL & " VALUES "
strSQL = strSQL & "('" &strNimi & "',"
strSQL = strSQL & "'" & strEMail & "',"
strSQL = strSQL & "'" & strViesti & "',"
strSQL = strSQL & "'" & strYhteystapa & "',"
strSQL = strSQL & "'" &now() & "')"

' ohita mahdolliset virheet tietokantayhteydessä/kyselyssä
On Error Resume Next

Public strSource, oConn
Set oConn = Server.CreateObject("ADODB.connection")
strSource = "Provider=SQLOLEDB; Data Source=palvelin; Initial Catalog=tietokanta; User ID=kayttaja; Password=salasana"
oConn.open strSource

'suorita kysely
oConn.Execute strSQL,recaffected

' käsittele virheet
If err<>0 then
  Response.Write("<p>Virhe viestin tallentamisessa.</p>")
  'Response.Write("<p>" & err.number & " - " & err.description & "</p>")
Else
  Response.Write("<p>Viestin tallennus onnistui</p>")
End If

oConn.close


    End If
End If
%>

</body>
</html>

Hycke [08.04.2008 09:20:53]

#

Mitä virhettä(err.description) herjaa?

Nimble [08.04.2008 10:49:17]

#

Veikkaan että en ole osannut täyttää oikeen tietoja tuohon mihin tulee tunnukset yms.. Miten siis täytän sen oikeaoppisesti?

Hycke [08.04.2008 11:05:46]

#

Veikkaamalla harvemmin voittaa mutta poista nyt ainakin välilyönnit tuosta strSource -stringistä

Tuolta lisätietoja : http://www.connectionstrings.com/?carrier­=sqlserver

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta