Advertisement
Guest User

Untitled

a guest
May 20th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.82 KB | None | 0 0
  1. <html>
  2. <head>
  3.   <title>Query Assignment #8 by Derek Weissenburger ID#3361088</title>
  4.   <script runat="server-proxy">
  5.  
  6.     function login(user, pwd) {
  7.         var dbh = get_db()
  8.         var results = dbh.execute("SELECT * FROM users WHERE username='"+user+"' and password='"+pwd+"'")
  9.         if (results.hasData) {
  10.                 var session = Math.floor(Math.random()*899999999)+1000000000
  11.                 var d = new Date()
  12.                 var time = d.getTime()
  13.                 dbh.execute("INSERT into session VALUES ("+session+","+time+")")
  14.                 dbh.close()
  15.                 return session
  16.         }
  17.         dbh.close()    
  18.         return false
  19.     }
  20.     function logout(session) {
  21.         var dbh = get_db()
  22.         var results = dbh.execute("SELECT * FROM session WHERE Sess_ID="+session+"")
  23.         if (results.hasData) {
  24.             dbh.execute("DELETE FROM session WHERE Sess_ID="+session+"")
  25.             dbh.close()
  26.             return true
  27.         }
  28.         dbh.close()
  29.         return false
  30.     }
  31.     function print_update(session, selection) {
  32.         var dbh = get_db()
  33.         check_session(dbh, session)
  34.         if (selection == 0) {                   //create a new entry
  35.             dbh.query("SELECT * FROM Customer ORDER by lname")
  36.             r = dbh.store_result()
  37.             num_rows = r.num_rows()
  38.             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+")")  
  39.             db.close()
  40.             get_names(session)
  41.             return
  42.         } else {
  43.             //update records
  44.             dbh.execute("UPDATE Customer SET FName ='"+document.form.fname.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
  45.             dbh.execute("UPDATE Customer SET MInitial ='"+document.form.minitial.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
  46.             dbh.execute("UPDATE Customer SET LName ='"+document.form.lname.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
  47.             dbh.execute("UPDATE Customer SET Addr ='"+document.form.addr.value+"' WHERE Cust_ID ='"+document.form.id.value+"'")
  48.             dbh.execute("UPDATE Customer SET City ='"+document.form.city.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
  49.             dbh.execute("UPDATE Customer SET State ='"+document.form.state.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
  50.             dbh.execute("UPDATE Customer SET Zip ='"+document.form.zip.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")
  51.             dbh.execute("UPDATE Customer SET Phone ='"+document.form.phone.value+"' WHERE Cust_ID = '"+document.form.id.value+"'")     
  52.             dbh.close()
  53.             get_names(session)
  54.         }
  55.     }  
  56.     function get_names(session) {
  57.         var dbh = get_db()
  58.         check_session(dbh, session)
  59.         var results = dbh.execute("SELECT * FROM Customer ORDER by LName")
  60.         dbh.close()
  61.         return results.rows
  62.     }
  63.  
  64.   </script>
  65.   <script runat="server">
  66.  
  67.     function get_db() {
  68.         var dbparms = {
  69.             IMPLEMENTATION: "MySQL",
  70.             HOST: "db.itlabs.umn.edu",
  71.             PORT: 3313,
  72.             NAME: "c4131S10u93",
  73.             USER: "c4131S10u93",
  74.             PASS: "tgv43744",
  75.         }
  76.         return new Jaxer.DB.MySQL.Connection(dbparms);
  77.     }
  78.     function check_session(dbh, session) {
  79.         var results = dbh.execute("SELECT * FROM session WHERE Sess_ID="+session+"")
  80.         if (results.hasData) {
  81.             var d = new Date()
  82.             var time = d.getTime()
  83.             //checks if 5 minutes have passed, if so, logout, if not, update time.
  84.             if (((time - results.rows[0].Time) > 300000)) {
  85.                 timeout()
  86.                 return true
  87.             } else {
  88.                 dbh.execute("UPDATE session SET Time="+time+" WHERE Sess_ID="+session+"")
  89.                 return true
  90.             }
  91.         }
  92.         throw new Error("no current session")
  93.     }
  94.  
  95.   </script>
  96.   <script runat="client">
  97.  
  98.     var session_key, query_results, update_results, selection
  99.  
  100.     function submit_login() {
  101.         if (document.form.loggedIn.checked) return
  102.         if (document.form.user.value == "" || document.form.pwd.value == "") {
  103.             alert("Enter A Username and Password")
  104.             return 
  105.         }
  106.         var result = login(document.form.user.value, document.form.pwd.value)
  107.         if (!result) {
  108.             alert("Login Has Failed")
  109.             document.form.pwd.value = ""
  110.             document.form.user.value = ""
  111.             return
  112.         }
  113.         document.form.loggedIn.checked = true
  114.         session_key = result
  115.         document.form.pwd.value = ""
  116.         document.form.user.value = ""
  117.     }  
  118.     function submit_logout() {
  119.         if (!form.loggedIn.checked) {
  120.             alert("You Are Not Logged In")
  121.             return
  122.         }
  123.         var result = logout(session_key)
  124.         if (result) {
  125.             document.form.loggedIn.checked = false
  126.             session_key = null
  127.             query_results = null
  128.             form.loggedIn.checked = false
  129.             form.selection.options.length = 1
  130.             form.state.value = ""
  131.             form.id.value = ""
  132.             form.fname.value = ""
  133.             form.minitial.value = ""
  134.             form.lname.value = ""
  135.             form.addr.value = ""
  136.             form.city.value = ""
  137.             form.zip.value = ""
  138.             form.phone.value = ""
  139.             return
  140.         }
  141.         alert("Logout Failed")
  142.     }
  143.     function timeout() {
  144.         alert("Session Timed Out")
  145.         submit_logout()
  146.     }
  147.     function submit_query() {
  148.         var text, result
  149.         if (!document.form.loggedIn.checked) {
  150.             alert("You Need To Be Logged In To Utilize This Function")
  151.             return
  152.         }
  153.         query_results = get_names(session_key)
  154.         for (result in query_results) {
  155.             text = query_results[result].LName + ", " + query_results[result].FName
  156.             populate(text,text)    
  157.         }
  158.     }
  159.     function submit_update() {
  160.         var text, result
  161.         if (!document.form.loggedIn.checked) {
  162.             alert("You Need To Be Logged In To Utilize This Function")
  163.             return
  164.         }
  165.         update_results = print_update(session_key, selection)
  166.         for (result in update_results) {
  167.             text = update_results[result].LName + ", " + update_results[result].FName
  168.             populate(text,text)
  169.         }
  170.     }
  171.     function populate(item, value) {
  172.         var sel = document.form.selection
  173.         var opts = sel.options
  174.         opts[opts.length] = new Option(item, value)
  175.     }
  176.     function showrecord(sel) {
  177.         if( !document.form.loggedIn.checked ) return
  178.         if (sel.selectedIndex == 0) {
  179.             form.state.value = ""
  180.             form.id.value = ""
  181.             form.fname.value = ""
  182.             form.minitial.value = ""
  183.             form.lname.value = ""
  184.             form.addr.value = ""
  185.             form.city.value = ""
  186.             form.zip.value = ""
  187.             form.phone.value = ""
  188.         }      
  189.         var pos = sel.selectedIndex - 1
  190.         selection = sel.selectedIndex
  191.         var rec = query_results[pos]
  192.         document.form.id.value = rec.Cust_ID
  193.         document.form.fname.value = rec.FName
  194.         document.form.minitial.value = rec.MInitial
  195.         document.form.lname.value = rec.LName
  196.         document.form.addr.value = rec.Addr
  197.         document.form.city.value = rec.City
  198.         document.form.zip.value = rec.Zip
  199.         document.form.state.value = rec.State
  200.         document.form.phone.value = rec.Phone
  201.     }
  202.  
  203.   </script>
  204. </head>
  205. <body>
  206.   <form name="form">
  207.     <p>Username:
  208.     <input type="username" name="user">
  209.     Password:
  210.     <input type="password" name="pwd">
  211.     <input type="button" name="login" value="Login" onclick="submit_login()">
  212.     <input type="checkbox" name="loggedIn" onclick="this.checked=!this.checked">
  213.     <input type="button" name="logout" value="Logout" onclick="submit_logout()"></p><br>
  214.     <select name="selection" size="3" onchange="showrecord(this)">
  215.       <option selected="selected">
  216.         NONE
  217.       </option>
  218.     </select>
  219.     <input type="button" value="Query" onclick="submit_query()">
  220.     <input type="hidden" name="id" value="">
  221.     <input type="button" name="update" value="Update" onclick="submit_update()">
  222.     <table border=0 rules=none frame=none>
  223.         <tr><td>Name:</td><td>
  224.             <input type="text" name="fname">
  225.             <input type="text" name="minitial">
  226.             <input type="text" name="lname"></td></tr>
  227.         <tr><td>Address:</td><td><input type="text" name="addr"></tr></td>
  228.         <tr><td>City, State, Zip:</td><td><input type="text" name="city">
  229.             <input type="text" name="state">
  230.             <input type="text" name="zip"></tr></td>
  231.         <tr><td>Phone #:</td><td><input type="text" name="phone"></tr></td>
  232.     </table>
  233.   </form>
  234.  </body>
  235. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement