Advertisement
Guest User

Untitled

a guest
May 20th, 2017
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 9.89 KB | None | 0 0
  1. <html>
  2. <head>
  3.   <title>Query Assignment #8 by Derek Weissenburger ID#3361088</title>
  4. <!--
  5.     CSCI4131: Internet Programming Spring 2010
  6.     Assignment #8
  7.     Written by Derek Weissenburger (ID# 3361088)
  8.     x500 ID: weis0461@umn.edu
  9.     ITLABS machine: BLENDER.itlabs.umn.edu
  10.     Date: 4-20-10
  11. -->
  12.   <script runat="server-proxy">
  13.     //legitimately logs users in given they have good info
  14.     function login(user, pwd) {
  15.         var dbh = get_db()
  16.         var results = dbh.execute("SELECT * FROM users WHERE username=? and password=?",[user,pwd])
  17.         if (results.hasData) {
  18.                 Jaxer.session["session"] = Math.floor(Math.random()*899999999)+1000000000
  19.                 var d = new Date()
  20.                 Jaxer.session["time"] = d.getTime()
  21.                 dbh.close()
  22.                 return Jaxer.session["session"]
  23.         }
  24.         dbh.close()    
  25.         return false
  26.     }
  27.     //checks for a legit session and logs them out, deleting both jaxer time and session
  28.     function logout(session) {
  29.         if (check_session(session)) {
  30.             delete Jaxer.session["session"]
  31.             delete Jaxer.session["time"]
  32.             return true
  33.         }
  34.         return false
  35.     }
  36.     //does necessary updates or inserts depending on the selection
  37.     function do_update(session, selection, id, fname, minit, lname, addr, city, state, zip, phone) {
  38.         if (check_session(session)) {
  39.             var dbh = get_db()
  40.             if (selection == 0) {           //create a new entry because NONE is selected
  41.                 dbh.execute("INSERT INTO Customer (FName, MInitial, LName, Addr, City, State, Zip, Phone) VALUES (?,?,?,?,?,?,?,?)",[fname,minit,lname,addr,city,state,zip,phone])
  42.                 selection = id 
  43.                 dbh.close()
  44.                 return get_names(session)
  45.             } else {
  46.                 //update records
  47.                 dbh.execute("UPDATE Customer SET FName=? WHERE Cust_ID=?",[fname,id])
  48.                 dbh.execute("UPDATE Customer SET MInitial=? WHERE Cust_ID=?",[minit,id])
  49.                 dbh.execute("UPDATE Customer SET LName=? WHERE Cust_ID=?",[lname,id])
  50.                 dbh.execute("UPDATE Customer SET Addr=? WHERE Cust_ID=?",[addr,id])
  51.                 dbh.execute("UPDATE Customer SET City=? WHERE Cust_ID=?",[city,id])
  52.                 dbh.execute("UPDATE Customer SET State=? WHERE Cust_ID=?",[state,id])
  53.                 dbh.execute("UPDATE Customer SET Zip=? WHERE Cust_ID=?",[zip,id])
  54.                 dbh.execute("UPDATE Customer SET Phone=? WHERE Cust_ID=?",[phone,id])
  55.                 selection = id 
  56.                 dbh.close()
  57.                 return get_names(session)
  58.             }
  59.         } else
  60.             return false
  61.     }  
  62.     //prints out the names, ordered by last name in a query or update.
  63.     function get_names(session) {
  64.         if (check_session(session)) {
  65.             var dbh = get_db()
  66.             var results = dbh.execute("SELECT * FROM Customer ORDER by LName")
  67.             dbh.close()
  68.             return results.rows
  69.         } else
  70.             return false
  71.     }
  72.  
  73.   </script>
  74.   <script runat="server">
  75.     //sets up a connection
  76.     function get_db() {
  77.         var dbparms = {
  78.             IMPLEMENTATION: "MySQL",
  79.             HOST: "db.itlabs.umn.edu",
  80.             PORT: 3313,
  81.             NAME: "c4131S10u93",
  82.             USER: "c4131S10u93",
  83.             PASS: "tgv43744",
  84.         }
  85.         return new Jaxer.DB.MySQL.Connection(dbparms);
  86.     }
  87.     //checks for a legit session, and makes sure it hasn't timed out.
  88.     function check_session(session) {
  89.         if (session == Jaxer.session["session"]) {
  90.             var d = new Date()
  91.             var time = d.getTime()
  92.             //checks if 5 minutes have passed, if so, logout, if not, update time.
  93.             if (time - Jaxer.session["time"] > 300000) {
  94.                 delete Jaxer.session["session"]
  95.                 delete Jaxer.session["time"]               
  96.                 return false
  97.             } else {
  98.                 Jaxer.session["time"] = time
  99.                 return true
  100.             }
  101.         }
  102.         throw new Error("no current session")
  103.     }
  104.  
  105.   </script>
  106.   <script runat="client">
  107.  
  108.     var session_key, query_results, update_results, selection, button
  109.     //action taken when the login button is pushed, and pulls what is in the username and pwd fields
  110.     function submit_login() {
  111.         if (document.form.loggedIn.checked) return
  112.         if (document.form.user.value == "" || document.form.pwd.value == "") {
  113.             alert("Enter A Username and Password")
  114.             return 
  115.         }
  116.         var result = login(document.form.user.value, document.form.pwd.value)
  117.         if (!result) {
  118.             alert("Incorrect Username or Password")
  119.             document.form.pwd.value = ""
  120.             document.form.user.value = ""
  121.             return
  122.         }
  123.         document.form.loggedIn.checked = true
  124.         session_key = result
  125.         document.form.pwd.value = ""
  126.         document.form.user.value = ""
  127.     }
  128.     //action taken when logout button is pushed, and clears the necessary fields.  
  129.     function submit_logout() {
  130.         if (!form.loggedIn.checked) {
  131.             alert("You Are Not Logged In")
  132.             return
  133.         }
  134.         if (logout(session_key)) {
  135.             document.form.loggedIn.checked = false
  136.             session_key = null
  137.             query_results = null
  138.             form.loggedIn.checked = false
  139.             form.selection.options.length = 1
  140.             form.state.value = ""
  141.             form.id.value = ""
  142.             form.fname.value = ""
  143.             form.minitial.value = ""
  144.             form.lname.value = ""
  145.             form.addr.value = ""
  146.             form.city.value = ""
  147.             form.zip.value = ""
  148.             form.phone.value = ""
  149.             return
  150.         }
  151.         clear()
  152.         return
  153.     }
  154.     //action taken if there is a timeout
  155.     function clear() {
  156.         alert("The Session Is No Longer Valid. Logging Out.")
  157.         document.form.loggedIn.checked = false
  158.         session_key = null
  159.         query_results = null
  160.         form.loggedIn.checked = false
  161.         form.selection.options.length = 1
  162.         form.state.value = ""
  163.         form.id.value = ""
  164.         form.fname.value = ""
  165.         form.minitial.value = ""
  166.         form.lname.value = ""
  167.         form.addr.value = ""
  168.         form.city.value = ""
  169.         form.zip.value = ""
  170.         form.phone.value = ""
  171.     }
  172.     //action taken if the query button is pushed
  173.     function submit_query() {
  174.         var text, result
  175.         button = 1
  176.         if (!document.form.loggedIn.checked) {
  177.             alert("You Need To Be Logged In To Utilize This Function")
  178.             return
  179.         }
  180.         query_results = get_names(session_key)
  181.         if (query_results != false) {
  182.             form.selection.options.length = 1
  183.             for (result in query_results) {
  184.                 text = query_results[result].LName + ", " + query_results[result].FName
  185.                 populate(text,text)    
  186.             }
  187.         } else {
  188.             clear()
  189.             return
  190.         }
  191.     }
  192.     //action taken when the update button is pushed
  193.     function submit_update() {
  194.         var text, result
  195.         button = 0
  196.         if (!document.form.loggedIn.checked) {
  197.             alert("You Need To Be Logged In To Utilize This Function")
  198.             return
  199.         }
  200.         var first = document.form.fname.value
  201.         var last = document.form.lname.value
  202.         var entry = last + "," + first
  203.         update_results = do_update(session_key, selection, document.form.id.value, 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)
  204.         if (update_results != false) {     
  205.             form.selection.options.length = 1                  
  206.             //form.selection.selectedIndex = selection
  207.             for (result in update_results) {
  208.                 text = update_results[result].LName + ", " + update_results[result].FName
  209.                 populate(text,text)
  210.             }
  211.             for (var i = 0; i < form.selection.options.length; i++) {
  212.                 if (document.form.selection.options[i].value == entry)
  213.                     document.form.selection.options[i].selected = true
  214.             }
  215.         } else {
  216.             clear()
  217.             return
  218.         }
  219.     }
  220.     //populates the values in the selection field
  221.     function populate(item, value) {
  222.         var sel = document.form.selection
  223.         var opts = sel.options
  224.         opts[opts.length] = new Option(item, value)
  225.     }
  226.     //presents all the data in the fields given a selection
  227.     function showrecord(sel) {
  228.         if( !document.form.loggedIn.checked ) return
  229.         if (sel.selectedIndex == 0) {
  230.             selection = sel.selectedIndex
  231.             form.id.value = ""
  232.             form.fname.value = ""
  233.             form.minitial.value = ""
  234.             form.lname.value = ""
  235.             form.addr.value = ""
  236.             form.city.value = ""
  237.             form.state.value = ""
  238.             form.zip.value = ""
  239.             form.phone.value = ""
  240.         } else {   
  241.             if (button == 0) {
  242.                 var pos = (sel.selectedIndex - 1)
  243.                 selection = sel.selectedIndex
  244.                 var rec = update_results[pos]
  245.                 document.form.id.value = rec.Cust_ID
  246.                 document.form.fname.value = rec.FName
  247.                 document.form.minitial.value = rec.MInitial
  248.                 document.form.lname.value = rec.LName
  249.                 document.form.addr.value = rec.Addr
  250.                 document.form.city.value = rec.City
  251.                 document.form.state.value = rec.State
  252.                 document.form.zip.value = rec.Zip
  253.                 document.form.phone.value = rec.Phone
  254.             } else {   
  255.                 var pos = (sel.selectedIndex - 1)
  256.                 selection = sel.selectedIndex
  257.                 var rec = query_results[pos]
  258.                 document.form.id.value = rec.Cust_ID
  259.                 document.form.fname.value = rec.FName
  260.                 document.form.minitial.value = rec.MInitial
  261.                 document.form.lname.value = rec.LName
  262.                 document.form.addr.value = rec.Addr
  263.                 document.form.city.value = rec.City
  264.                 document.form.state.value = rec.State
  265.                 document.form.zip.value = rec.Zip
  266.                 document.form.phone.value = rec.Phone
  267.             }
  268.         }
  269.     }
  270.  
  271.  </script>
  272. </head>
  273. <body>
  274.   <form name="form">
  275.     <p>Username:
  276.     <input type="username" name="user">
  277.     Password:
  278.     <input type="password" name="pwd">
  279.     <input type="button" name="login" value="Login" onclick="submit_login()">
  280.     <input type="checkbox" name="loggedIn" onclick="this.checked=!this.checked">
  281.     <input type="button" name="logout" value="Logout" onclick="submit_logout()"></p><br>
  282.     <select name="selection" size="3" onchange="showrecord(this)">
  283.       <option selected="selected">
  284.         NONE
  285.       </option>
  286.     </select>
  287.     <input type="button" value="Query" onclick="submit_query()">
  288.     <input type="hidden" name="id" value="">
  289.     <input type="button" name="update" value="Update" onclick="submit_update()">
  290.     <table border=0 rules=none frame=none>
  291.         <tr><td>Name:</td><td>
  292.             <input type="text" name="fname">
  293.             <input type="text" name="minitial">
  294.             <input type="text" name="lname"></td></tr>
  295.         <tr><td>Address:</td><td><input type="text" name="addr"></tr></td>
  296.         <tr><td>City, State, Zip:</td><td><input type="text" name="city">
  297.             <input type="text" name="state">
  298.             <input type="text" name="zip"></tr></td>
  299.         <tr><td>Phone #:</td><td><input type="text" name="phone"></tr></td>
  300.     </table>
  301.   </form>
  302.  </body>
  303. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement