Click to See Complete Forum and Search --> : ASP connection to a Database


Kika
06-10-2006, 03:52 AM
I am trying to get this asp code to connection some credit card information to a database. Right now I have some errors because the form won't display but I can't figure out where the errors are. Any help is appreciated.

<%@ LANGUAGE="JScript"%><HTML><HEAD></HEAD>
<BODY>
<%
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
//===========================================
function setStates() {
response.write('State:&nbsp;');
response.write('<select name="Tstate">');
response.write('<option value="AL" selected>AL');
response.write('<option value="AK">AK');
response.write('<option value="AS">AS');
response.write('</select> ');
}
//===========================================
function setExpireMonth() {
response.write('Expiration Month: ');
response.write('<select name="tcardMonth">');
response.write('<option value="1" selected>1');
response.write('<option value="2">2');
response.write('<option value="3">3');
response.write('<option value="4">4');
response.write('<option value="5">5');
response.write('<option value="6">6');
response.write('<option value="7">7');
response.write('<option value="8">8');
response.write('<option value="9">9');
response.write('<option value="10">10');
response.write('<option value="11">11');
response.write('<option value="12">12');
response.write('</select> ');
}
//===========================================
function setExpireYear() {
response.write('Expiration Year: ');
response.write('<select name="tcardYear">');
response.write('<option value="2005" selected>2005');
response.write('<option value="2006">2006');
response.write('<option value="2007">2007');
response.write('<option value="2008">2008');
response.write('<option value="2009">2009');
response.write('</select> ');
}
//===========================================
function checkNumeric(instrg, slen) {
var ret = "";

if (instrg.length != slen) {
ret = 'insufficient input';
return(ret);
}

// Split instrg into substring using space
var tsub = new Array();
tsub = instrg.split(' ');

// Concatenate all the substring together, so that
// there is no space in between
var cstrg = "";
for (i=0; i<tsub.length; i++)
cstrg = cstrg + tsub[i];

var inNum = parseInt(cstrg);
if (String(inNum) == 'NaN') {
ret = 'has illegal character';
return(ret);
}

if (cstrg.length != slen) {
ret = 'has illegal characters';
return(ret);
}
return(ret);
}
//===========================================
function checkInput() {

// Get the input values
for (i=0; i<document.Tform.elements.length; i++) {
if (document.Tform.elements[i].name == 'Tname')
var name = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Taddr')
var addr = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Tcity')
var city = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Tzip')
var zip = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'TdobM')
var dobM = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'TdobD')
var dobD = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'TdobY')
var dobY = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Tarea')
var area = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Tprefix')
var prefix = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'Tphone')
var phone = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'tcardNum')
var num = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'tcardYear')
var yrs = document.Tform.elements[i].value;

if (document.Tform.elements[i].name == 'tcardMonth')
var mon = document.Tform.elements[i].value;
}

// Check name and address length not zero
if (String(name.length == 0) || (addr.length == 0) || (city.length == 0) || (zip.length == 0)) {
alert('The name and address is incomplete, can\'t continue.');
return;
}
// Check phone length not zero
if (String(area.length == 0) || (prefix.length == 0) || (phone.length == 0)) {
alert('The phone is incomplete, can\'t continue.');
return;
}
// Check DOB length not zero
if (String(dobM.length == 0) || (dobD.length == 0) || (dobY.length == 0)) {
alert('DOB is incomplete, can\'t continue.');
return;
}
// Check credit card length not zero
if (num.length == 0) {
alert('Credit card number is blank, can\'t continue.');
return;
}

// Check zip code has correct digits
ret1 = checkNumeric(zip, 5);
if (ret1.length != 0) {
alert('The Zip code ' + ret1 + ', try again.');
return;
}

// Check Phone number is has correct digits
ret1 = checkNumeric(area, 3);
ret2 = checkNumeric(prefix, 3);
ret3 = checkNumeric(phone, 4);
if (String(ret1.length != 0) || (ret2.length != 0) || (ret3.length != 0)) {
alert('Phone number '+ ret1 + ret2 + ret3 + ', try again.');
return;
}

// Check DOB has correct digits
ret1 = checkNumeric(dobM, 2);
ret2 = checkNumeric(dobD, 2);
ret3 = checkNumeric(dobY, 4);
if (String(ret1.length != 0) || (ret2.length != 0) || (ret3.length != 0)) {
alert('DOB ' + ret1 + ret2 + ret3 +', try again.');
return;
}


// Get today's month and year
today = new Date();
todaymon = today.getMonth() + 1;
todayyrs = today.getYear();
if (todayyrs < 1900)
todayyrs += 1900;

// Check DOB month within range
dobM = parseFloat(dobM);
if (String(dobM <= 0.00) || (dobM > 12.00)) {
alert('DOB Month out of range, try again.');
return;
}

// Check DOB day within range
dobD = parseFloat(dobD);
if (String(dobD <= 0.00) || (dobD > 31.00)) {
alert('DOB Day out of range, try again.');
return;
}

// Check DOB is not zero and is not greater than current year
dobY = parseInt(dobY);
if (String(dobY <= 0) || (dobY > todayyrs)) {
alert('DOB Year out of range, try again.');
return;
}

// Check Credit card number has correct digits
ret1 = checkNumeric(num, 16);
if (ret1.length != 0) {
alert('Credit card number ' + ret1 + ', try again.');
return;
}

// validate credit card year is not before current year
if (todayyrs > yrs) {
alert('The credit card has expired before current year.');
return;
}
if (todayyrs == yrs) {
// validate credit card month is greater than current month
if (todaymon > mon) {
alert('The credit card has expired before current month.');
return;
}
}
alert('Validation successful.');
}

//==========================================
function addRecord(){
var sqlTxt;

response.write(sqlTxt);
sqlTxt = 'INSERT INTO Info (Tname, Taddr, Tcity, Tphone, Tdob, TcardType, TcardNum) VALUES (';
sqlTxt = sqlTxt + "" + Tname + '", ';
sqlTxt = sqlTxt + "" + Taddr + '", ';
sqlTxt = sqlTxt + "" + Tcity +'" , ';
sqlTxt = sqlTxt + "" + Tphone + '", ';
sqlTxt = sqlTxt + "" + Tdob + '", ';
sqlTxt = sqlTxt + "" + TcardType + '", ';
sqlTxt = sqlTxt + "" + TcardNum + '");';

oRS = objConnect.Execute (sqlTxt);

}

//===========================================
function createForm() {
response.write('<form name="Tform" method="post" action="WeekFive.asp">');
response.write('<font face="Courier">');
response.write('Name:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="Tname"><br>');
response.write('Address: <input type="text" name="Taddr" size=50><br>');
response.write('City:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="Tcity"> ');
setStates();
response.write('Zip:&nbsp;<input type="text" name="Tzip" size=5 maxlength=5><br> ');
response.write('Phone:&nbsp;&nbsp;&nbsp;(<input name="Tarea" size=3 maxlength=3>');
response.write(')<input name="Tprefix" size=3 maxlength=3>');
response.write('-<input name="Tphone" size=4 maxlength=4><br><br> ');
response.write('DOB:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="TdobM" size=2 maxlength=2>');
response.write('/<input type="text" name="TdobD" size=2 maxlength=2>');
response.write('/<input type="text" name="TdobY" size=4 maxlength=4> (mm/dd/yyyy)<br><br>');
response.write('Select a credit Card Type:<br>');
response.write('<input type="radio" name="TcardType" value="American Express">American Express');
response.write('<input type="radio" name="TcardType" value="Master Card">Master Card');

response.write('<input type="radio" name="TcardType" value="VISA" checked>VISA');
response.write('<br><br>');
response.write('Credit Card Number: <input type="text" name="tcardNum" maxlength=16><br>');
setExpireMonth();
setExpireYear();
response.write('</FORM>');
response.write('<A HREF="WeekFive.asp">');
response.write('</A>');

}

<META content="MSHTML 6.00.2900.2873" name=GENERATOR>

//===================================
strComm='PROVIDER=Microsoft.Jet.OLEDB.4.0;'+
'Data Source="E:\\web\\Sales.mdb"';

objConnect=Server.CreateObject("ADODB.Connection");
objConnect.Open(strComm);
oRS=Server.CreateObject("ADODB.Recordset");

createForm();
%>
</BODY></HTML>

russell
06-10-2006, 12:04 PM
2 things

1. remove (or fix) the meta tags. one is in the middle of your jscript, the other is missing quotes.

2. change response to Response -- JScript is case sensitive.

In internet explorer, go to tools / internet options / advanced and make sure that "Show friendly HTTP error messages" is NOT checked. Then IE will point out the errors for you.

Kika
06-10-2006, 07:23 PM
Thanks for the tips! I appreciate the help.