PHP Tutorial: User Profiles problem
Posted: Sat Apr 07, 2012 11:31 pm
I have followed the tutorial on how to create users profiles. I followed all code line by line but i have a problem with the uid variable.
I am testing it on windows 7 using wamp server.
Also to make the sql statements working i had to remove most of the quotes. I don't know why the code from the tutorial is not working for me.
Below is the code of my files please check them.
edit_profile.php
I am testing it on windows 7 using wamp server.
Also to make the sql statements working i had to remove most of the quotes. I don't know why the code from the tutorial is not working for me.
Below is the code of my files please check them.
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 not valid.'; } 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']); } $user_info = fetch_user_info($_SESSION['uid']); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> form { margin:10px 0px 0px 0px; } form div { float:left; clear:both; margin:0px 0px 4px 0px; } label { float:left; width:100px; } input[type="text"], textarea { float:left; width:400px; } input[type="submit"] { margin:10px 0px 0px 100px; } </style> <title>Edit Your Profile</title> </head> <body> <div> <?php if (isset($errors) === false){ echo 'Click update 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 $user_info['email']; ?>" /> </div> <div> <label for="location">Lcation:</label> <input type="text" name="location" id="location" value="<?php echo $user_info['location']; ?>" /> </div> <div> <label for="about">About Me:</label> <textarea name="about" id="about" rows="14" cols="50" /><?php echo strip_tags($user_info['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']); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo $user_info['firstname']; ?> <?php echo $user_info['lastname']; ?>'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 echo $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> <p><?php echo $user_info['about']; ?></p> <?php } ?> </div> </body> </html>user_list.php
<?php include('core/init.inc.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <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 session_start(); mysql_connect('localhost', 'root', ''); mysql_select_db('user_profile'); $path = dirname(__FILE__); include("{$path}/inc/user.inc.php"); $_SESSION['uid'] = 1; ?>user.inc.php
<?php 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 'firstname', 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); } 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($about); $sql = "UPDATE users SET user_email = '{$email}', user_about = '{$about}', user_location = '{$location}' WHERE user_id = {$_SESSION['uid']}"; mysql_query($sql); } ?>Thank you in advance!