Ask a Question related to Macromedia Dynamic HTML, Design and Development.
-
jagman82 #1
forms and server side dsn
I have a registration form (registration.asp) created in Dreamweaver what puts
the information when submitted into a MS Access db (nationalEx.mdb). This works
fine on my local host server. However, when I uploaded it to my hosting account
they indicated I needed to setup a DSN script to direct the form info to the
access db. The script they sent me is as follows:
Dim oConn, oRs
Dim qry, connectstr, sDSNDir
Dim db_name, db_username, db_userpassword
Dim db_server, dsn_name
dsn_name = "your_dsn_name"
fieldname = "your_fieldname"
tablename = "your_tablename"
sDSNDir = Server.MapPath("_dsn")
connectstr = "filedsn=" & sDSNDir & "" & dsn_name
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open connectstr
qry = "SELECT * FROM " & tablename
Set oRS = oConn.Execute(qry)
if not oRS.EOF then
while not oRS.EOF
response.write ucase(fieldname) & ": " & oRs.Fields(fieldname) & "
"
oRS.movenext
wend
oRS.close
end if
Set oRs = nothing
Set oConn = nothing
I'm clear this is not a major feat to accomplish but I'm not a programmer or
script writer so I have not been able to get it to work. The registration.asp
form in in the root dir of the hosting server and the access db is in a folder
in the root dir named \access_db.
Here are the questions I know to ask (there are probably some I don't even
know to ask).
Where should the DSN script reside, in the root or in the access_db folder?
I have named the script "formhandler.dsn", is the dsn extension correct?
Do I need to alter any information in the registration.asp form? I have
attached the code.
How does the form know where to look for the dsn script?
Below are the areas of the dsn script that I have changed:
Dim nationalEx.mdb, MyUsername, MyPassword
Dim whsql-v03.prod.mesa1.secureserver.net, access_nationalEx.dsn
dsn_name = "conn_nationalEx.dsn"
fieldname = "FirstName LastName Address City State Zip HmPhone DTPhone Email
Location PriceRng DnPmt Urgency Notes"
tablename = "registration"
sDSNDir = Server.MapPath("\_dsn") ("\access_db\formhandler.dsn")
I'm not sure how (dsn_name = "your_dsn_name") in the script above differs from
(Dim dsn_name).
I'm also not sure about this path, I have no _dsn file or folder (sDSNDir =
Server.MapPath("_dsn").
I know this is long and thank you for looking. Any help is appreciated.
The code for the registration page is attached
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/connNationalEx.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "registration") Then
MM_editConnection = MM_connNationalEx_STRING
MM_editTable = "registration"
MM_editRedirectUrl = "CPI_Thkyou.htm"
MM_fieldsStr =
"FirstName|value|LastName|value|Address|value|City |value|State|value|Zip|value|H
mPhone|value|DTPhone|value|Email|value|Location|va lue|PriceRng|value|DnPmt|value
|Urgency|value|Notes|value"
MM_columnsStr =
"FirstName|',none,''|LastName|',none,''|Address|', none,''|City|',none,''|State|'
,none,''|Zip|',none,''|HmPhone|',none,''|DTPhone|' ,none,''|Email|',none,''|Locat
ion|',none,''|PriceRng|',none,''|DnPmt|',none,''|U rgency|',none,''|Notes|',none,
''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And
Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ")
values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<!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>Untitled Document</title>
<link href="body.css" rel="stylesheet" type="text/css" />
<link href="layoutregASP.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-size: 16pt;
}
.style2 {color: #FF0000}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail
address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number
between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
}
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body>
<div id="banner">
<div id="button"><a href="index.htm"><img src="images_global/home.gif"
width="94" height="25" border="0" /></a></div>
<div id="main">
<p align="left">If you would like to be able to view the photo albums of
the properties for sale we ask that you register the following information with
our office. After you have registered, someone from our office will contact you
to discuss your requirements and issue a password.</p>
<p align="center">Please fill out the form below. When you are finished,
click on the Submit button.<br />
<strong><span class="style3 style1">*</span> = Required
Fields</strong></p>
<form action="<%=MM_editAction%>" method="POST" name="registration"
id="registration"
onsubmit="MM_validateForm('FirstName','','R','Last Name','','R','Address','','R',
'City','','R','State','','R','Zip','','R','HmPhone ','','R','Email','','RisEmail'
);return document.MM_returnValue">
<table>
<tr valign="baseline">
<td nowrap="nowrap" align="right">First Name:<span
class="style2">*</span></td>
<td><input type="text" name="FirstName" value="" size="32" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Last Name:<span
class="style2">*</span></td>
<td><input type="text" name="LastName" value="" size="32" />
</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Address:<span
class="style2">*</span></td>
<td><input type="text" name="Address" value="" size="32" />
</td>
</tr>
jagman82 Guest
-
read server side file from clent side
Hello all, i m using Influxis server.I have used these lines of code to create text file at server side:-> var myFile = new File("log_file.txt");... -
Forms do not run on secure server side
I have a series of forms for people to fill out with personal information. The forms consist of a html header and footer with cfform in the center. ... -
Flash Forms - Server Side Validation - Back Button
I've tried the timeout attribute but that didn't help. What do I need to do so that form entries are not lost once a Flash form is submitted and... -
Time Stamp (User Side/Server Side)
I am using the following to display time. #TimeFormat(Now(), "h")#:#TimeFormat(Now(), "mm")# #TimeFormat(Now(), "tt")# My problem is the server... -
Controls with a client side onLoad function or seting a cursor server side
Is there any way to create a web control that calls a client side onLoad function? Its diffucilt since you are not able to access the form or...



Reply With Quote

