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>
Mitä virhettä(err.description) herjaa?
Veikkaan että en ole osannut täyttää oikeen tietoja tuohon mihin tulee tunnukset yms.. Miten siis täytän sen oikeaoppisesti?
Veikkaamalla harvemmin voittaa mutta poista nyt ainakin välilyönnit tuosta strSource -stringistä
Tuolta lisätietoja : http://www.connectionstrings.com/?carrier=sqlserver
Aihe on jo aika vanha, joten et voi enää vastata siihen.