Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ASP/VB: virheilmoitukset samalle sivulle?

Nimble [15.04.2008 16:12:31]

#

Elikkäs alapuolella on pieni koodinpätkä jostain palaute lomakkeesta. Niin semmosta vaan että millätavalla saisi tossa nuo virheilmoitukset näkymään samalle sivulle vaikka lomakkeen päälle? Kiitos jo etukäteen neuvoista :)

<%@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>

Mod. lisäsi kooditagit

Vastaus

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

Tietoa sivustosta