User Profiles Question
Posted: Sun Jan 15, 2012 2:16 pm
I've tried making a user profile! with edit_profile in it. Where people can edit their profile.
I made one. But when I click on update, the same page is simply reloaded and nothing is changed in the database. Any ideas why?
edit_profile.php
I made one. But when I click on update, the same page is simply reloaded and nothing is changed in the database. Any ideas why?
edit_profile.php
<?php include('core/init.inc.php'); if (isset ($_POST ['email'], $_POST ['location'], $_POST ['about'])) { $errors = array () ; if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)=== false) { $errors [] = 'The email address you entered is invalid.' ; } if (preg_match('#^[a-z0-9]+$#i', $_POST['location']) === 0) { $errors[] = 'Your location must only contain \'a-z\', \'0-9\' and spaces.' ; } if (empty($errors)) { set_profile_info ($_POST['email'],$_POST['about'],$_POST ['location']) ; } $user_info = array ( $email => htmlentities($_POST ['email']), $about => htmlentities($_POST ['about']), $location => htmlentities($_POST ['location']) ) ; } else { $user_info = fetch_user_info($_SESSION['uid']); } ?> <html> <head></head> <body> <div> <?php if (isset ($errors)=== false) { echo 'Click the update button to edit your profile.' ; } else if (empty ($errors)){ echo 'Your profile has been updated.' ; } else { echo '<ul><li>', implode ('</li><li>', $errors), '</li></ul>' ; } ?> </div> <form action="" method="POST"> <div> <label for="email">Email:</label> <input type="text" name="email" id="email" value="<?php echo $_POST ['email'] ; ?>"/> </div> <div> <label for="location">Location:</label> <input type="text" name="location" id="location" value="<?php echo $_POST ['location'] ; ?>" /> </div> <div> <label for="about">About Me:</label> <textarea name="about" id="about" rows="14" cols="50"><?php echo strip_tags($_POST ['about']) ; ?></textarea> </div> <div> <input type="submit" value="Update"/> </div> </form> </body> </html>profile.php
<?php include('core/init.inc.php'); $user_info = fetch_user_info($_GET['uid']); ?> <html> <head><title><?php echo $user_info ['username'] ;?>'s Profile</title></head> <body> <div> <?php if ($user_info === false ) { echo 'That user does not exist.' ; } else { ?> <h1><?php echo $user_info ['firstname'] ;?> <?php $user_info ['lastname'] ;?></h1> <p>Username :<?php echo $user_info ['username'] ;?></p> <p>Gender :<?php echo ($user_info ['gender'] == 1 ? 'Male' : 'Female') ;?></p> <p>Email :<?php echo $user_info ['email'] ;?></p> <p>Location :<?php echo $user_info ['location'] ;?></p> <?php echo $user_info ['about'] ;?> <?php } ?> </div> </body> </html>user_list.php
<?php error_reporting(E_ALL ^ E_WARNING) ; include 'core/init.inc.php' ; ?> <html> <head> <title>Registered Users!</title> </head> <body> <div> <?php foreach (fetch_users() as $user) { ?> <p> <a href="profile.php?uid=<?php echo $user['id'] ?>" ><?php echo $user ['username'] ; ?></a> </p> <?php } ?> <div> </body> </html>init.inc.php
<?php error_reporting (E_ALL ^ E_NOTICE) ; session_start () ; mysql_connect ('localhost','root','shahlin') ; mysql_select_db ('user_profile') ; $path = dirname (__FILE__); include ("{$path}/inc/user.inc.php") ; $_SESSION ['uid']= 1 ; ?>user_inc.php
<?php // fetches all of the users from the table! function fetch_users() { $result = mysql_query ("SELECT `user_id` AS `id`, `user_username` AS `username` FROM `users`") ; $users = array () ; while (($row = mysql_fetch_assoc($result)) !== false) { $users [] = $row ; } return $users ; } function fetch_user_info ($uid) { $uid = (int)$uid; $sql = "SELECT `user_username` AS `username`, `user_firstname` AS `firsntame`, `user_lastname` AS `lastname`, `user_email` AS `email`, `user_about` AS `about`, `user_location` AS `location`, `user_gender` AS `gender` FROM `users` WHERE `user_id`= ($uid)" ; $result = mysql_query($sql) ; return mysql_fetch_assoc($result) ; } //updates the current users proifle function set_profile_info ($email, $about, $location){ $email = mysql_real_escape_string (htmlentities($email)) ; $about = mysql_real_escape_string (nl2br(htmlentities($about))). $location = mysql_real_escape_string ($location) ; $sql = "UPDATE `users` SET `user_email` = '{$email}' , `user_about` = '{$about}', `user_location` = '{$location}' WHERE `user_id` = {$_SESSION ['uid']}" ; mysql_query ($query) ; } ?>Please Help!