Hide Email

Posted on Saturday 2nd June 2007 at 12:49 AM
MCP
MCP's Avatar
Ok Here is the problem. Imputting all the changes as shown on the 'Hide Email' tutorial. But the only problem I have is it does not update the DB. Example. Once I put it on I changed the default (via phpMyAdmin) to yes. Then I went to editprofile.php and chose it to say no. Updated the profile and went back to members.php and it does not hide it. Nor does it show no selected on editprofile.php

Below are the codes.

Members.php
PHP Code
  1. <?php
  2. include('config.php');
  3.  
  4. // Query database
  5. $count_sql = 'SELECT * FROM members';
  6. $count_result = mysql_query($count_sql);
  7.  
  8. //gets the number
  9. $count = mysql_num_rows($count_result);
  10.  
  11. $new = mysql_fetch_array(mysql_query("SELECT * FROM `members` ORDER BY `id` DESC LIMIT 0, 1")); // Gets the newest member
  12. echo "<strong>Newest member:</strong> " . $new[username]; // displays the newest member
  13. ?> <br>
  14. <br>
  15. <?php
  16. session_start(); //allows session
  17. include "config.php";
  18. echo "<left>";
  19. if(isset($_GET['user'])){ //if there trying to view a profile
  20. //gets the user name and makes it safe
  21. $username = addslashes($_GET[user]);
  22. //querys the db to find the username
  23. $getuser = mysql_query("SELECT * FROM `members` WHERE `username` = '$username'");
  24. //checks see if the username exists in the db
  25.  
  26.  
  27. $usernum = mysql_num_rows($getuser);
  28. //if it don't exist
  29. if ($usernum == 0)
  30.  
  31. {
  32. //don't exist
  33.  
  34. echo ("User Not Found");
  35.  
  36. }
  37. //if it does exist then show there profile
  38. else
  39. {
  40. $user = mysql_fetch_array($getuser);
  41. echo "
  42. <b>$user[username]'s Profile</b><br><br>
  43. <b>Email:</b> $user[email]<br>
  44. <b>Location:</b> $user[location]<br>
  45. <b>Sex:</b> $user[sex]<br>
  46. <b>Age:</b> $user[age]<br>
  47. <b>About:</b> $user[about]<br>
  48. <b>Interests:</b> $user[interests]<br>
  49. <b>MSN:</b> $user[msn]<br>
  50. <b>Skype:</b> $user[skype]<br>
  51. <b>AIM:</b> $user[aim]<br>
  52. <b>deviantART:</b> $user[deviantart]<br>
  53. <b>Yahoo:</b> $user[yahoo]<br>
  54. ";
  55. $user_rank = change_levels($user[userlevel]); //change level
  56.  
  57. }
  58. }
  59. else
  60. {
  61. //gets all the members from the database
  62. $getusers = mysql_query("SELECT * FROM `members` ORDER BY `id` ASC") or die(mysql_error());
  63. //loops there name out
  64. while ($user = mysql_fetch_array($getusers))
  65. {
  66. echo "<a href='members.php?user=$user[username]'>$user[username]</a><br>";
  67. }
  68. }
  69. echo "<left>";
  70. ?>


Editprofile.php
PHP Code
  1. <?php
  2. session_start(); //allows session
  3. include "config.php";
  4. echo "<left>";
  5. //checks see if there logged in
  6. if($logged[id])
  7. {
  8. if(isset($_GET['update'])){
  9. $email = addslashes(htmlspecialchars($_POST[email]));
  10. $ehidden = htmlspecialchars($_POST[ehidden]);
  11. $location = addslashes(htmlspecialchars($_POST[location]));
  12. $age = (int)addslashes(htmlspecialchars($_POST[age]));
  13. $sex = addslashes(htmlspecialchars($_POST[sex]));
  14. $about = addslashes(htmlspecialchars($_POST[about]));
  15. $interests = addslashes(htmlspecialchars($_POST[interests]));
  16. $msn = addslashes(htmlspecialchars($_POST[msn]));
  17. $skype = addslashes(htmlspecialchars($_POST[skype]));
  18. $aim = addslashes(htmlspecialchars($_POST[aim]));
  19. $deviantart = addslashes(htmlspecialchars($_POST[deviantart]));
  20. $yahoo = addslashes(htmlspecialchars($_POST[yahoo]));
  21. //checks the sex if its ok
  22. if(($sex == "Male") || ($sex == "Female")){
  23. //updates there profile in the db
  24. $update = mysql_query("UPDATE `members` SET `email` = '$email', `sex` = '$sex', `age` = '$age', location = '$location', ehidden = '$ehidden', `about` = '$about', `interests` = '$interests', `msn` = '$msn', `skype` = '$skype', `aim` = '$aim', `yahoo` = '$yahoo', `deviantart` = '$deviantart' WHERE `username` = '$logged[username]'");
  25. echo "Profile updated!<br>
  26. <a href="login.php">Return to Member Area</a> or <a href="editprofile.php">Continue Editing</a>";
  27. }
  28. //if the sex is invalid
  29. else
  30. {
  31. echo "Invalid sex input!";
  32. }
  33. }
  34. else
  35. {
  36. $getuser = mysql_query("SELECT * FROM `members` WHERE `username` = '$logged[username]'");
  37. $user = mysql_fetch_array($getuser);
  38. echo "<form action='editprofile.php?update' method='post'>
  39. <table width='350'>
  40. <tr>
  41. <td width='150'>Email:</td>
  42. <td width='200'><input type='text' name='email' size='30' maxlength='55' value='$user[email]'></td>
  43. </tr>
  44. <tr>
  45. <td>Show Email?</td>
  46. <td><select name='ehidden'>
  47. <option selected='selected' value='yes'>Yes</option>
  48. <option value='no'>No</option>
  49. </select></td>
  50. </tr>
  51. <tr>
  52. <td>Location:</td>
  53. <td><input type='text' name='location' size='30' maxlength='40' value='$user[location]'></td>
  54. </tr>
  55. <tr>
  56. <td>Age:</td>
  57. <td><input type='text' name='age' size='3' maxlength='3' value='$user[age]'></td>
  58. </tr>
  59. <tr>
  60. <td>Sex:</td>
  61. <td><select size='1' name='sex' value='$user[sex]'>
  62. <option value='Male' "; if($user[sex] == Male) {
  63. echo "selected"; }
  64. echo ">
  65.  
  66.  
  67. Male
  68.  
  69.  
  70. </option>
  71. <option value='Female' "; if($user[sex] == Female) {
  72. echo "selected"; }
  73. echo ">
  74.  
  75.  
  76. Female
  77.  
  78.  
  79. </option>
  80. </select></td>
  81. </tr>
  82. <tr>
  83. <td>About:</td>
  84. <td><textarea name='about' cols='23.5' rows='7' maxlength='700' >$user[about]</textarea></td>
  85. </tr>
  86. <tr>
  87. <td>Interests:</td>
  88. <td><input type='text' name='interests' size='30' maxlength='40' value='$user[interests]' /></td>
  89. </tr>
  90. <tr>
  91. <td>MSN:</td>
  92. <td><input type='text' name='msn' size='30' maxlength='40' value='$user[msn]' /></td>
  93. </tr>
  94. <tr>
  95. <td>Skype:</td>
  96. <td><input type='text' name='skype' size='30' maxlength='40' value='$user[skype]' /></td>
  97. </tr>
  98. <tr>
  99. <td>AIM:</td>
  100. <td><input type='text' name='aim' size='30' maxlength='40' value='$user[aim]' /></td>
  101. </tr>
  102. <tr>
  103. <td>deviantART:</td>
  104. <td><input type='text' name='deviantart' size='30' maxlength='40' value='$user[deviantart]' /></td>
  105. </tr>
  106. <tr>
  107. <td>Yahoo:</td>
  108. <td><input type='text' name='yahoo' size='30' maxlength='40' value='$user[yahoo]' /></td>
  109. </tr>
  110.  
  111. <tr>
  112. <td colspan='2'><left>
  113. <input type='submit' value='Update'>
  114. </left></td>
  115. </tr>
  116. </table>
  117. </form>";
  118. }
  119. }
  120. else
  121. {
  122. echo "You are not logged in.";
  123. }
  124. echo "<left>";
  125. ?>


Also are the queries I ran and changed.
Original (from tut)
PHP Code
  1. ALTER TABLE `members` ADD `ehidden` CHAR( 3 ) NOT NULL DEFAULT 'no';


Changed to
PHP Code
  1. ALTER TABLE `members` ADD `ehidden` CHAR( 3 ) NOT NULL DEFAULT 'yes';


Any help is appreciated.
Posted on Sunday 3rd June 2007 at 04:36 PM
ShadowMage
ShadowMage's Avatar
Try This.
Find:
Code
<b>Email:</b> $user[email]<br>


Replace With:
Code
";
if($user[ehidden] == "yes"){
echo "<i>Hidden</i><br />";
}else{
echo "$user[email]";
}
echo "
failure i sense
Posted on Sunday 3rd June 2007 at 06:39 PM
MCP
MCP's Avatar
I think I fixed the members page. The problem I am having now is the DB is not being updated.

All the page codes are the same except for the members page. Which has been corrected with what was stated in the comment right above this one.
Posted on Sunday 3rd June 2007 at 08:51 PM
SkillMaster
SkillMaster's Avatar
try this.
editprofile.php
PHP Code
  1. <?php
  2. session_start(); //allows session
  3. include "config.php";
  4. if($logged[id])
  5. {
  6. switch($_GET[page])
  7. {
  8. default:
  9. $fetch = mysql_query("SELECT * FROM `members` WHERE `username` = '$logged[username]'");
  10. $user = mysql_fetch_array($fetch);
  11. echo ("<form action='editprofile.php?update' method='post'>
  12. <table width='350'>
  13. <tr>
  14. <td width='150'>Email:</td>
  15. <td width='200'><input type='text' name='email' size='30' maxlength='55' value='$user[email]'></td>
  16. </tr>
  17. <tr>
  18. <td>Show Email?</td>
  19. <td><select name='ehidden'>
  20. <option selected='selected' value='yes'>Yes</option>
  21. <option value='no'>No</option>
  22. </select></td>
  23. </tr>
  24. <tr>
  25. <td>Location:</td>
  26. <td><input type='text' name='location' size='30' maxlength='40' value='$user[location]'></td>
  27. </tr>
  28. <tr>
  29. <td>Age:</td>
  30. <td><input type='text' name='age' size='3' maxlength='3' value='$user[age]'></td>
  31. </tr>
  32. <tr>
  33. <td>Sex:</td>
  34. <td><input type='radio' value='male' name='sex'> Male<br>
  35. <input type='radio' value='female' name='sex'> Female</td>
  36. </tr>
  37. <tr>
  38. <td>About:</td>
  39. <td><textarea name='about' cols='23.5' rows='7' maxlength='700' >$user[about]</textarea></td>
  40. </tr>
  41. <tr>
  42. <td>Interests:</td>
  43. <td><input type='text' name='interests' size='30' maxlength='40' value='$user[interests]' /></td>
  44. </tr>
  45. <tr>
  46. <td>MSN:</td>
  47. <td><input type='text' name='msn' size='30' maxlength='40' value='$user[msn]' /></td>
  48. </tr>
  49. <tr>
  50. <td>Skype:</td>
  51. <td><input type='text' name='skype' size='30' maxlength='40' value='$user[skype]' /></td>
  52. </tr>
  53. <tr>
  54. <td>AIM:</td>
  55. <td><input type='text' name='aim' size='30' maxlength='40' value='$user[aim]' /></td>
  56. </tr>
  57. <tr>
  58. <td>deviantART:</td>
  59. <td><input type='text' name='deviantart' size='30' maxlength='40' value='$user[deviantart]' /></td>
  60. </tr>
  61. <tr>
  62. <td>Yahoo:</td>
  63. <td><input type='text' name='yahoo' size='30' maxlength='40' value='$user[yahoo]' /></td>
  64. </tr>
  65. <tr>
  66. <td colspan='2'><left>
  67. <input type='submit' value='Update'>
  68. </left></td>
  69. </tr>
  70. </table>
  71. </form>");
  72. break;
  73.  
  74. case 'update':
  75. $email = addslashes(htmlspecialchars($_POST[email]));
  76. $ehidden = htmlspecialchars($_POST[ehidden]);
  77. $location = addslashes(htmlspecialchars($_POST[location]));
  78. $age = (int)addslashes(htmlspecialchars($_POST[age]));
  79. $sex = addslashes(htmlspecialchars($_POST[sex]));
  80. $about = addslashes(htmlspecialchars($_POST[about]));
  81. $interests = addslashes(htmlspecialchars($_POST[interests]));
  82. $msn = addslashes(htmlspecialchars($_POST[msn]));
  83. $skype = addslashes(htmlspecialchars($_POST[skype]));
  84. $aim = addslashes(htmlspecialchars($_POST[aim]));
  85. $deviantart = addslashes(htmlspecialchars($_POST[deviantart]));
  86. $yahoo = addslashes(htmlspecialchars($_POST[yahoo]));
  87.  
  88. if($sex == Male || $sex == Female)
  89. {
  90. $update = mysql_query("UPDATE `members` SET `email` = '$email', `sex` = '$sex', `age` = '$age', location = '$location', ehidden = '$ehidden', `about` = '$about', `interests` = '$interests', `msn` = '$msn', `skype` = '$skype', `aim` = '$aim', `yahoo` = '$yahoo', `deviantart` = '$deviantart' WHERE `username` = '$logged[username]'");
  91. echo ("Profile updated!<br>
  92. <a href='login.php'>Return to Member Area</a> or <a href='editprofile.php'>Continue Editing</a>");
  93. }
  94. else
  95. (
  96. echo ("Please select a gender. <a href='editprofile.php'>Go back</a>");
  97. }
  98. break;
  99. }
  100. }
  101. ?>
Posted on Sunday 3rd June 2007 at 11:09 PM
MCP
MCP's Avatar
It's a blank page. What all did you change anyways?
Posted on Monday 4th June 2007 at 08:47 PM
SkillMaster
SkillMaster's Avatar
Are you sure you're logged in because all these codes seem fine.
Posted on Monday 4th June 2007 at 08:52 PM
SkillMaster
SkillMaster's Avatar
PHP Code
  1. <?php
  2. session_start(); //allows session
  3. include "config.php";
  4. if($logged[id])
  5. {
  6. switch($_GET[page])
  7. {
  8. default:
  9. $fetch = mysql_query("SELECT * FROM `members` WHERE `username` = '$logged[username]'");
  10. $user = mysql_fetch_array($fetch);
  11. echo ("<form action='?page=update' method='post'>
  12. <table width='350'>
  13. <tr>
  14. <td width='150'>Email:</td>
  15. <td width='200'><input type='text' name='email' size='30' maxlength='55' value='$user[email]'></td>
  16. </tr>
  17. <tr>
  18. <td>Show Email?</td>
  19. <td><select name='ehidden'>
  20. <option selected='selected' value='yes'>Yes</option>
  21. <option value='no'>No</option>
  22. </select></td>
  23. </tr>
  24. <tr>
  25. <td>Location:</td>
  26. <td><input type='text' name='location' size='30' maxlength='40' value='$user[location]'></td>
  27. </tr>
  28. <tr>
  29. <td>Age:</td>
  30. <td><input type='text' name='age' size='3' maxlength='3' value='$user[age]'></td>
  31. </tr>
  32. <tr>
  33. <td>Sex:</td>
  34. <td><input type='radio' value='Male' name='sex'> Male<br>
  35. <input type='radio' value='Female' name='sex'> Female</td>
  36. </tr>
  37. <tr>
  38. <td>About:</td>
  39. <td><textarea name='about' cols='23.5' rows='7' maxlength='700' >$user[about]</textarea></td>
  40. </tr>
  41. <tr>
  42. <td>Interests:</td>
  43. <td><input type='text' name='interests' size='30' maxlength='40' value='$user[interests]' /></td>
  44. </tr>
  45. <tr>
  46. <td>MSN:</td>
  47. <td><input type='text' name='msn' size='30' maxlength='40' value='$user[msn]' /></td>
  48. </tr>
  49. <tr>
  50. <td>Skype:</td>
  51. <td><input type='text' name='skype' size='30' maxlength='40' value='$user[skype]' /></td>
  52. </tr>
  53. <tr>
  54. <td>AIM:</td>
  55. <td><input type='text' name='aim' size='30' maxlength='40' value='$user[aim]' /></td>
  56. </tr>
  57. <tr>
  58. <td>deviantART:</td>
  59. <td><input type='text' name='deviantart' size='30' maxlength='40' value='$user[deviantart]' /></td>
  60. </tr>
  61. <tr>
  62. <td>Yahoo:</td>
  63. <td><input type='text' name='yahoo' size='30' maxlength='40' value='$user[yahoo]' /></td>
  64. </tr>
  65. <tr>
  66. <td colspan='2'><left>
  67. <input type='submit' value='Update'>
  68. </left></td>
  69. </tr>
  70. </table>
  71. </form>");
  72. break;
  73.  
  74. case 'update':
  75. $email = addslashes(htmlspecialchars($_POST[email]));
  76. $ehidden = htmlspecialchars($_POST[ehidden]);
  77. $location = addslashes(htmlspecialchars($_POST[location]));
  78. $age = addslashes(htmlspecialchars($_POST[age]));
  79. $sex = addslashes(htmlspecialchars($_POST[sex]));
  80. $about = addslashes(htmlspecialchars($_POST[about]));
  81. $interests = addslashes(htmlspecialchars($_POST[interests]));
  82. $msn = addslashes(htmlspecialchars($_POST[msn]));
  83. $skype = addslashes(htmlspecialchars($_POST[skype]));
  84. $aim = addslashes(htmlspecialchars($_POST[aim]));
  85. $deviantart = addslashes(htmlspecialchars($_POST[deviantart]));
  86. $yahoo = addslashes(htmlspecialchars($_POST[yahoo]));
  87.  
  88.  
  89. if($sex == "Male" || $sex == Female)
  90. {
  91. $update = mysql_query("UPDATE `members` SET `email` = '$email', `sex` = '$sex', `age` = '$age', location = '$location', ehidden = '$ehidden', `about` = '$about', `interests` = '$interests', `msn` = '$msn', `skype` = '$skype', `aim` = '$aim', `yahoo` = '$yahoo', `deviantart` = '$deviantart' WHERE `username` = '$logged[username]'");
  92. echo ("Profile updated!<br>
  93. <a href='login.php'>Return to Member Area</a> or <a href='editprofile.php'>Continue Editing</a>");
  94. }
  95. else
  96. {
  97. echo ("Please select a gender. <a href='editprofile.php'>Go back</a>");
  98. }
  99. break;
  100. }
  101. }
  102. ?>

This works its tested.
Posted on Tuesday 5th June 2007 at 01:19 AM
MCP
MCP's Avatar
No it doesn't.

The problem with this is it still is not updating the DB with hidden or not. The other problem is once you have selected your gender it updates but go back to edit neither are selected. Which means people are going to have to update their gender every time they edit their profile.
Posted on Tuesday 5th June 2007 at 05:28 AM
SkillMaster
SkillMaster's Avatar
change
PHP Code
  1. <td>Sex:</td>
  2. <td><input type='radio' value='Male' name='sex'> Male<br>
  3. <input type='radio' value='Female' name='sex'> Female</td>

to
PHP Code
  1. if ($logged[sex] == Male)
  2. {
  3. echo ("<td>Sex:</td>
  4. <td><input type='radio' checked='checked' value='Male' name='sex'> Male<br>
  5. <input type='radio' value='Female' name='sex'> Female</td>");
  6. }
  7. else
  8. {echo ("<td>Sex:</td>
  9. <td><input type='radio' value='Male' name='sex'> Male<br>
  10. <input type='radio' checked='checked' value='Female' name='sex'> Female</td>");
  11. }
Posted on Tuesday 5th June 2007 at 05:32 AM
SkillMaster
SkillMaster's Avatar
Change
PHP Code
  1. $update = mysql_query("UPDATE `members` SET `email` = '$email', `sex` = '$sex', `age` = '$age', location = '$location', ehidden = '$ehidden', `about` = '$about', `interests` = '$interests', `msn` = '$msn', `skype` = '$skype', `aim` = '$aim', `yahoo` = '$yahoo', `deviantart` = '$deviantart' WHERE `username` = '$logged[username]'");

to
PHP Code
  1. $update = mysql_query("UPDATE `members` SET `email` = '$email', `sex` = '$sex', `age` = '$age', `location` = '$location', `ehidden` = '$ehidden', `about` = '$about', `interests` = '$interests', `msn` = '$msn', `skype` = '$skype', `aim` = '$aim', `yahoo` = '$yahoo', `deviantart` = '$deviantart' WHERE `username` = '$logged[username]'");
Login or register to respond to this forum topic.