Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>Query Assignment #8 by Derek Weissenburger ID#3361088</title>
- <script runat="server-proxy">
- function login(user, pwd) {
- var dbh = get_db()
- var results = dbh.execute("SELECT * FROM users WHERE username='"+user+"' and password='"+pwd+"'")
- if (results.hasData) {
- var session = Math.floor(Math.random()*899999999)+1000000000
- var d = new Date()
- var time = d.getTime()
- dbh.execute("INSERT into session VALUES ("+session+","+time+")")
- dbh.close()
- return session
- }
- dbh.close()
- return false
- }
- function logout(session) {
- var dbh = get_db()
- var results = dbh.execute("SELECT * FROM session WHERE Sess_ID="+session+"")
- if (results.hasData) {
- dbh.execute("DELETE FROM session WHERE Sess_ID="+session+"")
- dbh.close()
- return true
- }
- dbh.close()
- return false
- }
- function print_update(session, selection) {
- var dbh = get_db()
- check_session(dbh, session)
- if (selection == 0) { //create a new entry
- dbh.query("SELECT * FROM Customer ORDER by lname")
- r = dbh.store_result()
- num_rows = r.num_rows()
- dbh.execute("INSERT INTO Customer (Cust_ID, FName, MInitial, LName, Addr, City, State, Zip, Phone) VALUES ("+(num_rows+1)+","+document.form.fname.value+","+document.form.minitial.value+","+document.form.lname.value+","+document.form.addr.value+","+document.form.city.value+","+document.form.state.value+","+document.form.zip.value+","+document.form.phone.value+")")
- db.close()
- get_names(session)
- return
- } else {
- //update records
- dbh.execute("UPDATE Customer SET FName ='"+document.form.fname.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET MInitial ='"+document.form.minitial.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET LName ='"+document.form.lname.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET Addr ='"+document.form.addr.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET City ='"+document.form.city.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET State ='"+document.form.state.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET Zip ='"+document.form.zip.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
- dbh.execute("UPDATE Customer SET Phone ='"+document.form.phone.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
- dbh.close()
- get_names(session)
- }
- }
- function get_names(session) {
- var dbh = get_db()
- check_session(dbh, session)
- var results = dbh.execute("SELECT * FROM Customer ORDER by LName")
- dbh.close()
- return results.rows
- }
- </script>
- <script runat="server">
- function get_db() {
- var dbparms = {
- IMPLEMENTATION: "MySQL",
- HOST: "db.itlabs.umn.edu",
- PORT: 3313,
- NAME: "c4131S10u93",
- USER: "c4131S10u93",
- PASS: "tgv43744",
- }
- return new Jaxer.DB.MySQL.Connection(dbparms);
- }
- function check_session(dbh, session) {
- var results = dbh.execute("SELECT * FROM session WHERE Sess_ID="+session+"")
- if (results.hasData) {
- var d = new Date()
- var time = d.getTime()
- //checks if 5 minutes have passed, if so, logout, if not, update time.
- if (((time - results.rows[0].Time) > 300000)) {
- timeout()
- return true
- } else {
- dbh.execute("UPDATE session SET Time="+time+" WHERE Sess_ID="+session+"")
- return true
- }
- }
- throw new Error("no current session")
- }
- </script>
- <script runat="client">
- var session_key, query_results, update_results, selection
- function submit_login() {
- if (document.form.loggedIn.checked) return
- if (document.form.user.value == "" || document.form.pwd.value == "") {
- alert("Enter A Username and Password")
- return
- }
- var result = login(document.form.user.value, document.form.pwd.value)
- if (!result) {
- alert("Login Has Failed")
- document.form.pwd.value = ""
- document.form.user.value = ""
- return
- }
- document.form.loggedIn.checked = true
- session_key = result
- document.form.pwd.value = ""
- document.form.user.value = ""
- }
- function submit_logout() {
- if (!form.loggedIn.checked) {
- alert("You Are Not Logged In")
- return
- }
- var result = logout(session_key)
- if (result) {
- document.form.loggedIn.checked = false
- session_key = null
- query_results = null
- form.loggedIn.checked = false
- form.selection.options.length = 1
- form.state.value = ""
- form.id.value = ""
- form.fname.value = ""
- form.minitial.value = ""
- form.lname.value = ""
- form.addr.value = ""
- form.city.value = ""
- form.zip.value = ""
- form.phone.value = ""
- return
- }
- alert("Logout Failed")
- }
- function timeout() {
- alert("Session Timed Out")
- submit_logout()
- }
- function submit_query() {
- var text, result
- if (!document.form.loggedIn.checked) {
- alert("You Need To Be Logged In To Utilize This Function")
- return
- }
- query_results = get_names(session_key)
- for (result in query_results) {
- text = query_results[result].LName + ", " + query_results[result].FName
- populate(text,text)
- }
- }
- function submit_update() {
- var text, result
- if (!document.form.loggedIn.checked) {
- alert("You Need To Be Logged In To Utilize This Function")
- return
- }
- update_results = print_update(session_key, selection)
- for (result in update_results) {
- text = update_results[result].LName + ", " + update_results[result].FName
- populate(text,text)
- }
- }
- function populate(item, value) {
- var sel = document.form.selection
- var opts = sel.options
- opts[opts.length] = new Option(item, value)
- }
- function showrecord(sel) {
- if( !document.form.loggedIn.checked ) return
- if (sel.selectedIndex == 0) {
- form.state.value = ""
- form.id.value = ""
- form.fname.value = ""
- form.minitial.value = ""
- form.lname.value = ""
- form.addr.value = ""
- form.city.value = ""
- form.zip.value = ""
- form.phone.value = ""
- }
- var pos = sel.selectedIndex - 1
- selection = sel.selectedIndex
- var rec = query_results[pos]
- document.form.id.value = rec.Cust_ID
- document.form.fname.value = rec.FName
- document.form.minitial.value = rec.MInitial
- document.form.lname.value = rec.LName
- document.form.addr.value = rec.Addr
- document.form.city.value = rec.City
- document.form.zip.value = rec.Zip
- document.form.state.value = rec.State
- document.form.phone.value = rec.Phone
- }
- </script>
- </head>
- <body>
- <form name="form">
- <p>Username:
- <input type="username" name="user">
- Password:
- <input type="password" name="pwd">
- <input type="button" name="login" value="Login" onclick="submit_login()">
- <input type="checkbox" name="loggedIn" onclick="this.checked=!this.checked">
- <input type="button" name="logout" value="Logout" onclick="submit_logout()"></p><br>
- <select name="selection" size="3" onchange="showrecord(this)">
- <option selected="selected">
- NONE
- </option>
- </select>
- <input type="button" value="Query" onclick="submit_query()">
- <input type="hidden" name="id" value="">
- <input type="button" name="update" value="Update" onclick="submit_update()">
- <table border=0 rules=none frame=none>
- <tr><td>Name:</td><td>
- <input type="text" name="fname">
- <input type="text" name="minitial">
- <input type="text" name="lname"></td></tr>
- <tr><td>Address:</td><td><input type="text" name="addr"></tr></td>
- <tr><td>City, State, Zip:</td><td><input type="text" name="city">
- <input type="text" name="state">
- <input type="text" name="zip"></tr></td>
- <tr><td>Phone #:</td><td><input type="text" name="phone"></tr></td>
- </table>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement