Advertisement
Guest User

Untitled

a guest
Jul 1st, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.06 KB | None | 0 0
  1. <?php
  2.  
  3. require_once('common.inc.php');
  4.  
  5. if ($is_logged_in == FALSE)
  6. {
  7. redirect_page('index.php', 3, "Unauthorized Access.");
  8. }
  9.  
  10. $conn = dbconnect();
  11. $result = mysql_query("SELECT * FROM users WHERE username='{$current_user}'", $conn);
  12.  
  13. $row = mysql_fetch_array($result);
  14. $password = $row['password'];
  15. $email = $row['email'];
  16. $lastname = $row['last_name'];
  17. $firstname = $row['first_name'];
  18. $address = $row['address'];
  19. $contactno = $row['contact_no'];
  20.  
  21. if (sizeof($_POST) > 0)
  22. {
  23. if ($_POST['action'] == 'save_changes')
  24. {
  25. if (!empty($_POST['password'])) $password = $_POST['password'];
  26. if (!empty($_POST['email'])) $email = $_POST['email'];
  27. if (!empty($_POST['last_name'])) $lastname = $_POST['last_name'];
  28. if (!empty($_POST['first_name'])) $firstname = $_POST['first_name'];
  29. if (!empty($_POST['address'])) $address = $_POST['address'];
  30. if (!empty($_POST['contact_no'])) $contactno = $_POST['contact_no'];
  31.  
  32. mysql_query("UPDATE users SET password='{$password}', email='{$email}', last_name='{$lastname}', ".
  33. "first_name='{$firstname}', address='{$address}', contact_no='{$contactno}' ".
  34. "WHERE username='{$current_user}'", $conn);
  35.  
  36. redirect_page('user_info.php', 3, 'Profile Updated.');
  37. }
  38. }
  39.  
  40. $is_edit = FALSE;
  41.  
  42. if (sizeof($_GET) > 0)
  43. {
  44. if (isset($_GET['edit']))
  45. {
  46. $is_edit = TRUE;
  47. }
  48. }
  49.  
  50. dbclose($conn);
  51. ?>
  52. <html>
  53. <head>
  54. <title><?=SITE_NAME?></title>
  55. <link rel="stylesheet" href="<?=STYLE_SHEET?>" type="text/css" />
  56. <script language="javascript">
  57. errors = {
  58. 'password' : false,
  59. 'retype_password' : false,
  60. 'email' : false,
  61. 'retype_email' : false,
  62. 'last_name' : false,
  63. 'first_name' : false,
  64. 'address' : false,
  65. 'contact_no' : false
  66. };
  67.  
  68. function validate(field)
  69. {
  70. var value = field.value;
  71. var error_field;
  72. var num_childs = field.parentNode.childNodes.length;
  73. var error_msg;
  74.  
  75. if (num_childs > 1)
  76. {
  77. error_field = field.nextSibling;
  78. }
  79. else
  80. {
  81. error_field = document.createElement('span');
  82. error_field.setAttribute('style', 'width:12px;height:12px;color:red');
  83. }
  84.  
  85. errors[field.name] = false;
  86.  
  87. switch (field.name)
  88. {
  89. case 'password':
  90. if (value.length > 0 && value.length < 6 || value.length > 12)
  91. {
  92. error_msg = document.createTextNode('Invalid format');
  93. errors['password'] = true;
  94. }
  95. break;
  96. case 'retype_password':
  97. var password = document.getElementsByName('password')[0];
  98. if (value != password.value)
  99. {
  100. error_msg = document.createTextNode('2 passwords do not match');
  101. errors['retype_password'] = true;
  102. }
  103. break;
  104. case 'email':
  105. var result = value.match(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/);
  106. if (value.length > 0 && result == null || result[0].length != value.length)
  107. {
  108. error_msg = document.createTextNode('Invalid format');
  109. errors['email'] = true;
  110. }
  111. break;
  112. case 'retype_email':
  113. var email = document.getElementsByName('email')[0];
  114. if (value != email.value)
  115. {
  116. error_msg = document.createTextNode('2 emails do not match');
  117. errors['retype_email'] = true;
  118. }
  119. break;
  120. case 'contact_no':
  121. var result = value.match(/[0-9]+/);
  122. if (value.length > 0 && (result == null || result[0].length != value.length))
  123. {
  124. error_msg = document.createTextNode('Invalid format');
  125. errors['contact_no'] = true;
  126. }
  127. break;
  128. case 'last_name':
  129. case 'first_name':
  130. case 'address':
  131. default:
  132. return false;
  133. }
  134.  
  135. if (errors[field.name])
  136. {
  137. if (num_childs == 1)
  138. {
  139. error_field.appendChild(error_msg);
  140. field.parentNode.appendChild(error_field);
  141. }
  142. }
  143. else
  144. {
  145. if (num_childs > 1)
  146. {
  147. field.parentNode.removeChild(error_field);
  148. }
  149. }
  150.  
  151. return true;
  152. }
  153.  
  154. function monitor_key(field)
  155. {
  156. var next_field = null;
  157.  
  158. switch (field.name)
  159. {
  160. case 'password':
  161. next_field = document.getElementsByName('retype_password')[0];
  162. break;
  163. case 'retype_password':
  164. next_field = document.getElementsByName('email')[0];
  165. break;
  166. case 'email':
  167. next_field = document.getElementsByName('retype_email')[0];
  168. break;
  169. case 'retype_email':
  170. next_field = document.getElementsByName('last_name')[0];
  171. break;
  172. case 'last_name':
  173. next_field = document.getElementsByName('first_name')[0];
  174. break;
  175. case 'first_name':
  176. next_field = document.getElementsByName('address')[0];
  177. break;
  178. case 'address':
  179. next_field = document.getElementsByName('contact_no')[0];
  180. break;
  181. case 'contact_no':
  182. break;
  183. default:
  184. return false;
  185. }
  186.  
  187. this.onkeypress = function(e) {
  188. var keycode;
  189.  
  190. if (window.event)
  191. keycode = window.event.keyCode;
  192. else if (e)
  193. keycode = e.which;
  194.  
  195. if (keycode == 13)
  196. {
  197. if (next_field != null)
  198. next_field.focus();
  199. return false;
  200. }
  201. };
  202. }
  203.  
  204. function save_changes()
  205. {
  206. var is_error = false;
  207. for (var field in errors)
  208. {
  209. if (errors[field])
  210. {
  211. is_error = true;
  212. break;
  213. }
  214. }
  215.  
  216. if (is_error)
  217. {
  218. alert('Please correct the errors!');
  219. return false;
  220. }
  221.  
  222. var form = document.getElementById('user_info');
  223. var inputs = form.getElementsByTagName('input');
  224. var action = document.createElement('input');
  225. action.setAttribute('type', 'hidden');
  226. action.setAttribute('name', 'action');
  227. action.setAttribute('value', 'save_changes');
  228. form.appendChild(action);
  229. form.submit();
  230. return true;
  231. }
  232. </script>
  233. </head>
  234. <body>
  235.  
  236. <!-- start of table 1a -->
  237. <table class="main_table">
  238. <tr>
  239. <td valign="top">
  240.  
  241. <!-- start of table 2a -->
  242. <table class="table1">
  243. <tr>
  244. <td class="header">My Profile</td>
  245. </tr>
  246.  
  247. <tr>
  248. <td class="body">
  249.  
  250. <form id="user_info" method="POST">
  251.  
  252. <!-- start of table 3a -->
  253. <?
  254. if ($is_edit)
  255. {
  256. ?>
  257. <table class="table4">
  258. <tr>
  259. <td colspan=2 style="color:red">Note: Left the field blank if no change is required for that field.</td>
  260. </tr>
  261.  
  262. <tr>
  263. <td width=300><b>Account Information:</b></td>
  264. <td></td>
  265. </tr>
  266.  
  267. <tr>
  268. <td>Username</td>
  269. <td><?=$current_user?></td>
  270. </tr>
  271.  
  272. <tr>
  273. <td colspan=2><br /></td>
  274. </tr>
  275.  
  276. <tr>
  277. <td>Password<br />
  278. <font class="small_font">(6-12 characters)</font></td>
  279. <td><input type="password" name="password" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
  280. </tr>
  281.  
  282. <tr>
  283. <td>Confirm Password</td>
  284. <td><input type="password" name="retype_password" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
  285. </tr>
  286.  
  287. <tr>
  288. <td colspan=2><br /></td>
  289. </tr>
  290.  
  291. <tr>
  292. <td>Email<br />
  293. <font class="small_font">(for order confirmation, please enter a valid email)</font></td>
  294. <td><input type="text" name="email" style="width: 250px" class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
  295. </tr>
  296.  
  297. <tr>
  298. <td>Re-type Email</td>
  299. <td><input type="text" name="retype_email" style="width: 250px" maxlength=50 class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
  300. </tr>
  301.  
  302. <tr>
  303. <td colspan=2><br /></td>
  304. </tr>
  305.  
  306. <tr>
  307. <td><b>Delivery Information:</b></td>
  308. <td></td>
  309. </tr>
  310.  
  311. <tr>
  312. <td>Last Name</td>
  313. <td><input type="text" name="last_name" maxlength=20 class="input" onKeyPress="monitor_key(this)" /></td>
  314. </tr>
  315.  
  316. <tr>
  317. <td>First Name</td>
  318. <td><input type="text" name="first_name" maxlength=20 class="input" onKeyPress="monitor_key(this)" /></td>
  319. </tr>
  320.  
  321. <tr>
  322. <td>Residential Address<br />
  323. <font class="small_font">(please enter a valid address)</font></td>
  324. <td><input type="text" name="address" style="width:400px" maxlength=256 class="input" onKeyPress="monitor_key(this)" /></td>
  325. </tr>
  326.  
  327. <tr>
  328. <td>Contact No.<br />
  329. <font class="small_font">(only numbers are allowed to use)</font></td>
  330. <td><input type="text" name="contact_no" maxlength=20 class="input" onKeyPress="monitor_key(this)" onBlur="validate(this)" /></td>
  331. </tr>
  332.  
  333. <tr>
  334. <td colspan=2><br /></td>
  335. </tr>
  336.  
  337. <tr>
  338. <td colspan=2 align="center">
  339. <input type="button" value="Save Changes" onClick="save_changes()" />
  340. <input type="button" value="Cancel" onClick="location.replace('<?=$_SERVER['SCRIPT_NAME']?>')" />
  341. </td>
  342. </tr>
  343. </table>
  344. <?
  345. }
  346. else
  347. {
  348. ?>
  349. <table class="table4">
  350. <tr>
  351. <td width=300><b>Account Information:</b></td>
  352. <td></td>
  353. </tr>
  354.  
  355. <tr>
  356. <td>Username</td>
  357. <td><?=$current_user?></td>
  358. </tr>
  359.  
  360. <tr>
  361. <td>Password</td>
  362. <td><?=preg_replace('/./', '*', $password)?></td>
  363. </tr>
  364.  
  365. <tr>
  366. <td>Email</td>
  367. <td><?=$email?></td>
  368. </tr>
  369.  
  370. <tr>
  371. <td colspan=2><br /></td>
  372. </tr>
  373.  
  374. <tr>
  375. <td><b>Delivery Information:</b></td>
  376. <td></td>
  377. </tr>
  378.  
  379. <tr>
  380. <td>Last Name</td>
  381. <td><?=$lastname?></td>
  382. </tr>
  383.  
  384. <tr>
  385. <td>First Name</td>
  386. <td><?=$firstname?></td>
  387. </tr>
  388.  
  389. <tr>
  390. <td>Residential Address</td>
  391. <td><?=$address?></td>
  392. </tr>
  393.  
  394. <tr>
  395. <td>Contact No.</td>
  396. <td><?=$contactno?></td>
  397. </tr>
  398.  
  399. <tr>
  400. <td colspan=2><br /></td>
  401. </tr>
  402.  
  403. <tr>
  404. <td colspan=2 align="center">
  405. <input type="button" value="Edit Profile" onClick="location.replace('?edit')" />
  406. </td>
  407. </tr>
  408. </table>
  409. <?
  410. }
  411. ?>
  412. <!-- end of table 3a -->
  413.  
  414. </form>
  415.  
  416. </td>
  417. </tr>
  418. </table>
  419. <!-- end of table 2a -->
  420.  
  421. </td>
  422.  
  423. <td valign="top">
  424. <?
  425. require_once('panel.inc.php');
  426. ?>
  427. </td>
  428.  
  429. </tr>
  430. </table>
  431. <!-- end of table 1a -->
  432.  
  433. </body>
  434. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement