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>
- <!--
- CSCI4131: Internet Programming Spring 2010
- Assignment #8
- Written by Derek Weissenburger (ID# 3361088)
- x500 ID: weis0461@umn.edu
- ITLABS machine: BLENDER.itlabs.umn.edu
- Date: 4-20-10
- -->
- <script runat="server-proxy">
- //legitimately logs users in given they have good info
- function login(user, pwd) {
- var dbh = get_db()
- var results = dbh.execute("SELECT * FROM users WHERE username=? and password=?",[user,pwd])
- if (results.hasData) {
- Jaxer.session["session"] = Math.floor(Math.random()*899999999)+1000000000
- var d = new Date()
- Jaxer.session["time"] = d.getTime()
- dbh.close()
- return Jaxer.session["session"]
- }
- dbh.close()
- return false
- }
- //checks for a legit session and logs them out, deleting both jaxer time and session
- function logout(session) {
- if (check_session(session)) {
- delete Jaxer.session["session"]
- delete Jaxer.session["time"]
- return true
- }
- return false
- }
- //does necessary updates or inserts depending on the selection
- function do_update(session, selection, id, fname, minit, lname, addr, city, state, zip, phone) {
- if (check_session(session)) {
- var dbh = get_db()
- if (selection == 0) { //create a new entry because NONE is selected
- dbh.execute("INSERT INTO Customer (FName, MInitial, LName, Addr, City, State, Zip, Phone) VALUES (?,?,?,?,?,?,?,?)",[fname,minit,lname,addr,city,state,zip,phone])
- selection = id
- dbh.close()
- return get_names(session)
- } else {
- //update records
- dbh.execute("UPDATE Customer SET FName=? WHERE Cust_ID=?",[fname,id])
- dbh.execute("UPDATE Customer SET MInitial=? WHERE Cust_ID=?",[minit,id])
- dbh.execute("UPDATE Customer SET LName=? WHERE Cust_ID=?",[lname,id])
- dbh.execute("UPDATE Customer SET Addr=? WHERE Cust_ID=?",[addr,id])
- dbh.execute("UPDATE Customer SET City=? WHERE Cust_ID=?",[city,id])
- dbh.execute("UPDATE Customer SET State=? WHERE Cust_ID=?",[state,id])
- dbh.execute("UPDATE Customer SET Zip=? WHERE Cust_ID=?",[zip,id])
- dbh.execute("UPDATE Customer SET Phone=? WHERE Cust_ID=?",[phone,id])
- selection = id
- dbh.close()
- return get_names(session)
- }
- } else
- return false
- }
- //prints out the names, ordered by last name in a query or update.
- function get_names(session) {
- if (check_session(session)) {
- var dbh = get_db()
- var results = dbh.execute("SELECT * FROM Customer ORDER by LName")
- dbh.close()
- return results.rows
- } else
- return false
- }
- </script>
- <script runat="server">
- //sets up a connection
- 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);
- }
- //checks for a legit session, and makes sure it hasn't timed out.
- function check_session(session) {
- if (session == Jaxer.session["session"]) {
- var d = new Date()
- var time = d.getTime()
- //checks if 5 minutes have passed, if so, logout, if not, update time.
- if (time - Jaxer.session["time"] > 300000) {
- delete Jaxer.session["session"]
- delete Jaxer.session["time"]
- return false
- } else {
- Jaxer.session["time"] = time
- return true
- }
- }
- throw new Error("no current session")
- }
- </script>
- <script runat="client">
- var session_key, query_results, update_results, selection, button
- //action taken when the login button is pushed, and pulls what is in the username and pwd fields
- 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("Incorrect Username or Password")
- 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 = ""
- }
- //action taken when logout button is pushed, and clears the necessary fields.
- function submit_logout() {
- if (!form.loggedIn.checked) {
- alert("You Are Not Logged In")
- return
- }
- if (logout(session_key)) {
- 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
- }
- clear()
- return
- }
- //action taken if there is a timeout
- function clear() {
- alert("The Session Is No Longer Valid. Logging Out.")
- 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 = ""
- }
- //action taken if the query button is pushed
- function submit_query() {
- var text, result
- button = 1
- if (!document.form.loggedIn.checked) {
- alert("You Need To Be Logged In To Utilize This Function")
- return
- }
- query_results = get_names(session_key)
- if (query_results != false) {
- form.selection.options.length = 1
- for (result in query_results) {
- text = query_results[result].LName + ", " + query_results[result].FName
- populate(text,text)
- }
- } else {
- clear()
- return
- }
- }
- //action taken when the update button is pushed
- function submit_update() {
- var text, result
- button = 0
- if (!document.form.loggedIn.checked) {
- alert("You Need To Be Logged In To Utilize This Function")
- return
- }
- var first = document.form.fname.value
- var last = document.form.lname.value
- var entry = last + "," + first
- 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)
- if (update_results != false) {
- form.selection.options.length = 1
- //form.selection.selectedIndex = selection
- for (result in update_results) {
- text = update_results[result].LName + ", " + update_results[result].FName
- populate(text,text)
- }
- for (var i = 0; i < form.selection.options.length; i++) {
- if (document.form.selection.options[i].value == entry)
- document.form.selection.options[i].selected = true
- }
- } else {
- clear()
- return
- }
- }
- //populates the values in the selection field
- function populate(item, value) {
- var sel = document.form.selection
- var opts = sel.options
- opts[opts.length] = new Option(item, value)
- }
- //presents all the data in the fields given a selection
- function showrecord(sel) {
- if( !document.form.loggedIn.checked ) return
- if (sel.selectedIndex == 0) {
- selection = sel.selectedIndex
- form.id.value = ""
- form.fname.value = ""
- form.minitial.value = ""
- form.lname.value = ""
- form.addr.value = ""
- form.city.value = ""
- form.state.value = ""
- form.zip.value = ""
- form.phone.value = ""
- } else {
- if (button == 0) {
- var pos = (sel.selectedIndex - 1)
- selection = sel.selectedIndex
- var rec = update_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.state.value = rec.State
- document.form.zip.value = rec.Zip
- document.form.phone.value = rec.Phone
- } else {
- 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.state.value = rec.State
- document.form.zip.value = rec.Zip
- 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