Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once('common.inc.php');
- if ($is_logged_in == FALSE)
- {
- redirect_page('index.php', 3, "Unauthorized Access.");
- }
- $conn = dbconnect();
- $result = mysql_query("SELECT * FROM users WHERE username='{$current_user}'", $conn);
- $row = mysql_fetch_array($result);
- $password = $row['password'];
- $email = $row['email'];
- $lastname = $row['last_name'];
- $firstname = $row['first_name'];
- $address = $row['address'];
- $contactno = $row['contact_no'];
- if (sizeof($_POST) > 0)
- {
- if ($_POST['action'] == 'save_changes')
- {
- if (!empty($_POST['password'])) $password = $_POST['password'];
- if (!empty($_POST['email'])) $email = $_POST['email'];
- if (!empty($_POST['last_name'])) $lastname = $_POST['last_name'];
- if (!empty($_POST['first_name'])) $firstname = $_POST['first_name'];
- if (!empty($_POST['address'])) $address = $_POST['address'];
- if (!empty($_POST['contact_no'])) $contactno = $_POST['contact_no'];
- mysql_query("UPDATE users SET password='{$password}', email='{$email}', last_name='{$lastname}', ".
- "first_name='{$firstname}', address='{$address}', contact_no='{$contactno}' ".
- "WHERE username='{$current_user}'", $conn);
- redirect_page('user_info.php', 3, 'Profile Updated.');
- }
- }
- $is_edit = FALSE;
- if (sizeof($_GET) > 0)
- {
- if (isset($_GET['edit']))
- {
- $is_edit = TRUE;
- }
- }
- dbclose($conn);
- ?>
- <html>
- <head>
- <title><?=SITE_NAME?></title>
- <link rel="stylesheet" href="<?=STYLE_SHEET?>" type="text/css" />
- <script language="javascript">
- errors = {
- 'password' : false,
- 'retype_password' : false,
- 'email' : false,
- 'retype_email' : false,
- 'last_name' : false,
- 'first_name' : false,
- 'address' : false,
- 'contact_no' : false
- };
- function validate(field)
- {
- var value = field.value;
- var error_field;
- var num_childs = field.parentNode.childNodes.length;
- var error_msg;
- if (num_childs > 1)
- {
- error_field = field.nextSibling;
- }
- else
- {
- error_field = document.createElement('span');
- error_field.setAttribute('style', 'width:12px;height:12px;color:red');
- }
- errors[field.name] = false;
- switch (field.name)
- {
- case 'password':
- if (value.length > 0 && value.length < 6 || value.length > 12)
- {
- error_msg = document.createTextNode('Invalid format');
- errors['password'] = true;
- }
- break;
- case 'retype_password':
- var password = document.getElementsByName('password')[0];
- if (value != password.value)
- {
- error_msg = document.createTextNode('2 passwords do not match');
- errors['retype_password'] = true;
- }
- break;
- case 'email':
- var result = value.match(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/);
- if (value.length > 0 && result == null || result[0].length != value.length)
- {
- error_msg = document.createTextNode('Invalid format');
- errors['email'] = true;
- }
- break;
- case 'retype_email':
- var email = document.getElementsByName('email')[0];
- if (value != email.value)
- {
- error_msg = document.createTextNode('2 emails do not match');
- errors['retype_email'] = true;
- }
- break;
- case 'contact_no':
- var result = value.match(/[0-9]+/);
- if (value.length > 0 && (result == null || result[0].length != value.length))
- {
- error_msg = document.createTextNode('Invalid format');
- errors['contact_no'] = true;
- }
- break;
- case 'last_name':
- case 'first_name':
- case 'address':
- default:
- return false;
- }
- if (errors[field.name])
- {
- if (num_childs == 1)
- {
- error_field.appendChild(error_msg);
- field.parentNode.appendChild(error_field);
- }
- }
- else
- {
- if (num_childs > 1)
- {
- field.parentNode.removeChild(error_field);
- }
- }
- return true;
- }
- function monitor_key(field)
- {
- var next_field = null;
- switch (field.name)
- {
- case 'password':
- next_field = document.getElementsByName('retype_password')[0];
- break;
- case 'retype_password':
- next_field = document.getElementsByName('email')[0];
- break;
- case 'email':
- next_field = document.getElementsByName('retype_email')[0];
- break;
- case 'retype_email':
- next_field = document.getElementsByName('last_name')[0];
- break;
- case 'last_name':
- next_field = document.getElementsByName('first_name')[0];
- break;
- case 'first_name':
- next_field = document.getElementsByName('address')[0];
- break;
- case 'address':
- next_field = document.getElementsByName('contact_no')[0];
- break;
- case 'contact_no':
- break;
- default:
- return false;
- }
- this.onkeypress = function(e) {
- var keycode;
- if (window.event)
- keycode = window.event.keyCode;
- else if (e)
- keycode = e.which;
- if (keycode == 13)
- {
- if (next_field != null)
- next_field.focus();
- return false;
- }
- };
- }
- function save_changes()
- {
- var is_error = false;
- for (var field in errors)
- {
- if (errors[field])
- {
- is_error = true;
- break;
- }
- }
- if (is_error)
- {
- alert('Please correct the errors!');
- return false;
- }
- var form = document.getElementById('user_info');
- var inputs = form.getElementsByTagName('input');
- var action = document.createElement('input');
- action.setAttribute('type', 'hidden');
- action.setAttribute('name', 'action');
- action.setAttribute('value', 'save_changes');
- form.appendChild(action);
- form.submit();
- return true;
- }
- </script>
- </head>
- <body>
- <!-- start of table 1a -->
- <table class="main_table">
- <tr>
- <td valign="top">
- <!-- start of table 2a -->
- <table class="table1">
- <tr>
- <td class="header">My Profile</td>
- </tr>
- <tr>
- <td class="body">
- <form id="user_info" method="POST">
- <!-- start of table 3a -->
- <?
- if ($is_edit)
- {
- ?>
- <table class="table4">
- <tr>
- <td colspan=2 style="color:red">Note: Left the field blank if no change is required for that field.</td>
- </tr>
- <tr>
- <td width=300><b>Account Information:</b></td>
- <td></td>
- </tr>
- <tr>
- <td>Username</td>
- <td><?=$current_user?></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td>Password<br />
- <font class="small_font">(6-12 characters)</font></td>
- <td><input type="password" name="password" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
- </tr>
- <tr>
- <td>Confirm Password</td>
- <td><input type="password" name="retype_password" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td>Email<br />
- <font class="small_font">(for order confirmation, please enter a valid email)</font></td>
- <td><input type="text" name="email" style="width: 250px" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
- </tr>
- <tr>
- <td>Re-type Email</td>
- <td><input type="text" name="retype_email" style="width: 250px" maxlength=50 class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td><b>Delivery Information:</b></td>
- <td></td>
- </tr>
- <tr>
- <td>Last Name</td>
- <td><input type="text" name="last_name" maxlength=20 class="input" onKeyPress="monitor_key(this)" /></td>
- </tr>
- <tr>
- <td>First Name</td>
- <td><input type="text" name="first_name" maxlength=20 class="input" onKeyPress="monitor_key(this)" /></td>
- </tr>
- <tr>
- <td>Residential Address<br />
- <font class="small_font">(please enter a valid address)</font></td>
- <td><input type="text" name="address" style="width:400px" maxlength=256 class="input" onKeyPress="monitor_key(this)" /></td>
- </tr>
- <tr>
- <td>Contact No.<br />
- <font class="small_font">(only numbers are allowed to use)</font></td>
- <td><input type="text" name="contact_no" maxlength=20 class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td colspan=2 align="center">
- <input type="button" value="Save Changes" onClick="save_changes()" />
- <input type="button" value="Cancel" onClick="location.replace('<?=$_SERVER['SCRIPT_NAME']?>')" />
- </td>
- </tr>
- </table>
- <?
- }
- else
- {
- ?>
- <table class="table4">
- <tr>
- <td width=300><b>Account Information:</b></td>
- <td></td>
- </tr>
- <tr>
- <td>Username</td>
- <td><?=$current_user?></td>
- </tr>
- <tr>
- <td>Password</td>
- <td><?=preg_replace('/./', '*', $password)?></td>
- </tr>
- <tr>
- <td>Email</td>
- <td><?=$email?></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td><b>Delivery Information:</b></td>
- <td></td>
- </tr>
- <tr>
- <td>Last Name</td>
- <td><?=$lastname?></td>
- </tr>
- <tr>
- <td>First Name</td>
- <td><?=$firstname?></td>
- </tr>
- <tr>
- <td>Residential Address</td>
- <td><?=$address?></td>
- </tr>
- <tr>
- <td>Contact No.</td>
- <td><?=$contactno?></td>
- </tr>
- <tr>
- <td colspan=2><br /></td>
- </tr>
- <tr>
- <td colspan=2 align="center">
- <input type="button" value="Edit Profile" onClick="location.replace('?edit')" />
- </td>
- </tr>
- </table>
- <?
- }
- ?>
- <!-- end of table 3a -->
- </form>
- </td>
- </tr>
- </table>
- <!-- end of table 2a -->
- </td>
- <td valign="top">
- <?
- require_once('panel.inc.php');
- ?>
- </td>
- </tr>
- </table>
- <!-- end of table 1a -->
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement