Facebook (Clone) Project Report
Facebook (Clone) Project Report
“Facebook(clone)”
By
Akshata Harage
Dhanashree Ausarakar
MCA – I, SEM – I I
2023-2024
To
Savitribai Phule Pune University
Pune- 411041
Page 1 of 77
CERTIFICATE
This is to certify that Akshata Harage, Dhanashree Ausarkar has successfully completed
his/her project work entitled “Facebook(clone)” in partial fulfillment of MCA– I Year II
Semester program for the year A.Y. 2023-2024. He / She have worked under our guidance
and direction.
Examiner 1 Examiner 2
Date:
Place:
Page 2 of 77
Acknowledgment
We are the student of MCA first year. Here by we express our thanks to our project guide for
allowing us to do the project on Facebook(clone) This project work has been the most
exciting part of our learning experience which would be an asset for our future carrier. We
would especially like to thank our guide and mentor Prof. Arati Kadam who constantly
guided us in developing, pushing us to search for more answers to her numerous questions.
Also I would like to thank Dr. Rupali Dahake , project coordinators for her support. As a
building block of MCA Department, I thank Dr. Manisha Kumbhar, HOD, MCA
Department for her continuous support and help. We are grateful to many classmates who
contributed their suggestions. Their hard work and examples push us to limits of our
capability and encourage us daily.
Thank You…...!
Akshata Harage
Dhanashree Ausarkar
Page 3 of 77
INDEX
Chapter Page number
CHAPTER 1 : INTRODUCTION
1.1 Existing System 7
1.2 Need for System 8
1.3 Operating Environment Hardware and Software 9
1.4 Brief Description about Technology Used 9
CHAPTER 2 : PROPOSED SYSTEM
2.1 Proposed System (Introduction of system) 11
2.2 Module specifications (Scope) 13-16
2.3 Objectives of System 12
CHAPTER 3 : ANALYSIS & DESIGN
3.1 Use Case Diagrams 18-22
3.2 Activity Diagram 24-27
3.3. Sequence Diagram 28-29
3.4 Class Diagram 31
3.5 Module Hierarchy Diagram 32
3.6 Table specifications (Database design) 37-43
3.7 Data dictionary
CHAPTER 4 : USER MANUAL
4.1 User Interface Screens (Input) 45-50
4.2 Output Screens with data 51-56
4.3 Data Reports
4.4 Sample program code 57-76
4.5 Limitations 77
Bibliography 77
Page 4 of 77
1.INTRODUCTION
Page 5 of 77
Chapter 1: Introduction
Currently Social networking website allows registered users to form profiles, upload photos
and video, send messages and confine touch with friends, family and colleagues. The
most well-known social network platforms are Facebook, Twitter, Instagram and LinkedIn.
Social media websites aren’t mandatorily about meeting new people virtually, although this
does happen. Instead, first and foremost about connecting with friends, family and
1. Groups – allows members who have regular interests to find each other and interact.
2. Events-allows members to publicize an occasion, invite guests and track who plans to
attend.
3. Pages – allows members to make and promote a public page built around a selected
topic.
4. Presence technology – allows members to ascertain which contacts are online and
chat.
Page 6 of 77
1.1: Existing System
The existing system of the facebook clone project refers to the current state of the application
before any modifications or enhancements are made.
Currently facebook application allows registered users to form profiles, upload photos and
video, send messages and confine touch with friends, family and colleagues. It is the most
well-known social media websites which aren’t mandatorily about meeting new people
virtually, although this does happen. Instead, first and foremost about connecting with
friends, family and connections you've already got.
Facebook is a social media platform that allows users to connect and share content with
friends, family, and the wider community. It was founded by Mark Zuckerberg and his college
roommates in 2004 and has grown into one of the largest social media networks globally. Here
are some key components and features of the existing Facebook system:
User Profiles: Facebook users create personal profiles where they can provide information
about themselves, such as their name, profile picture, bio, and interests.
News Feed: The News Feed is the central feature of Facebook, displaying a continuously
updating stream of posts and updates from friends, pages, and groups that a user has
connected with. Users can like, comment on, and share these posts.
Friends and Connections: Users can send friend requests to connect with other users.
When a friend request is accepted, users become "friends" and can view each other's
profiles, interact with each other's content, and send private messages.
Pages and Groups: Facebook allows the creation of Pages and Groups for various entities,
including businesses, organizations, public figures, and communities. Pages represent
entities such as brands, celebrities, and businesses, while Groups are spaces for people
with shared interests to discuss and engage in specific topics.
Photos and Videos: Users can upload and share photos and videos on their profiles, as
well as in albums and stories. Other users can like, comment on, and share these visual
content pieces.
Events: Facebook users can create and join events, such as parties, conferences, or
fundraisers. Event organizers can invite guests and manage event details, and attendees
can RSVP, discuss the event, and share photos and updates.
Marketplace: Facebook's Marketplace is a platform for buying and selling goods within
local communities. Users can list items for sale, browse listings, and contact sellers or
buyers.
Page 7 of 77
1.2: Need of the System
The need for a Facebook clone system arises from several factors and objectives. Here are some
key reasons why such a system is developed:
1.Learning and Skill Development: Building a Facebook clone provides developers with a
practical opportunity to enhance their programming skills and gain hands-on experience in
web development. It allows them to understand the complexities involved in creating a large-
scale social networking platform, including the design, implementation, and integration of
various features.
4.Privacy and Data Control: Some individuals and organizations may have concerns about
privacy and data control on mainstream social media platforms. By creating a Facebook clone,
users can have greater control over their data and privacy settings. This includes implementing
stronger security measures, allowing users to adjust visibility settings, and reducing
dependence on external entities.
5.Localized or Specialized Networks: Facebook clone systems can cater to specific regions,
communities, or interest groups that prefer a dedicated platform for their interactions. By
developing a clone, developers can create a social networking solution that addresses the needs
and preferences of a particular audience, fostering a sense of community and enhancing
engagement.
6.Research and Experimentation: Researchers, data scientists, and social analysts may require a
Facebook clone system to conduct studies, experiments, or analyze user behavior. A clone
system allows them to gather data, study network dynamics, analyze user interactions, and
develop insights without relying on the actual Facebook platform.
7.Backup and Redundancy: Creating a Facebook clone can serve as a backup or redundancy
solution for users concerned about the potential unavailability or discontinuation of the
original Facebook. By having a clone system in place, users can ensure continuity of their
social networking activities and preserve their connections and data.
Page 8 of 77
1.3: Operating Environment
Hardware Requirements:
Memory Space:
Minimum – 32 MB
Recommended – 64 MB
HDD – To install the software at least 2 GB and the data storage is depending upon the
organizational setup.
PROCESSOR – Intel Pentium IV, 1GHZ or above
RAM – 256MB or above
VIDEO – 1024×768, 24-bit colours
KEYBOARD – Standard 104 Keys (QWERTY)
Software Requirements:
Page 9 of 77
2.PROPOSED SYSTEM
Page 10 of 77
2.1: Proposed System
A. New Feed:
The news feed is that the primary system through which users are familiar to content which
were posted on the network. It selects a couple of few updates to actually show users
whenever they visit their feed, out of a mean of 1500 updates they go to potentially receive.
B. Friends:
The "Friending" someone is that performs of sending another user a "friend request" on
clone. The two people are friends once the receiving side accepts the friend request. In
addition to accepting the request, the user has the choice of declining the friend request or
hiding it using the "Not Now" or "Later" feature. Deleting or removing a request removes the
request, but does allow the sender to resend it in the future. The "Not Now" or "Later"
feature conceals the request but doesn't delete it, permitting the receiver to reconsider the
request later.
C. Timeline:
Intended to update users' profiles in order to show content based on year, month, and date as
well. "Cover" photos were come into the scenario, taking up a significant portion of the top
of pages, and an altered display of personal information such as friends, likes, and photos
appeared on the left-hand side, although story posts appeared on the right.
D. Likes:
Enables users to easily socialize with status updates, comments, photos, links shared by their
friends, videos, and Advertising as well. Once clicked by a user, the designated content
appears in the News Feeds of that user's friends and the button also displays the number of
other users who have "liked" the content, including lists of those users.
E. Comments:
The feature allowing the users to add GIFs to comments for a better user experience.
F. Notifications:
Notifications tell the user that something has been added or mentioned with respect to their
profile. Examples such as a message being shared on the user's profile wall or a discussion of
a picture of the user or on a picture that the user has previously commented (speak about) on.
Page 11 of 77
2.2: Objective of system
The objective of creating a Facebook clone, or any clone of an existing platform, can vary
depending on the specific goals and intentions of the individuals or organizations involved.
Learning and Practice: Developing a Facebook clone can serve as a learning exercise or a
way to gain hands-on experience in software development. It allows developers to
understand the underlying architecture, features, and functionalities of a complex social
media platform.
Targeted Audience: A Facebook clone could be developed with a specific niche or target
audience in mind. For instance, it could focus on a particular industry, interest group, or
demographic, tailoring the features and user experience to meet their specific needs.
Privacy and Security: Some individuals or organizations may create a Facebook clone
with a focus on stronger privacy and security measures. They might aim to provide users
with more control over their data, emphasize encryption, or implement stricter user
authentication protocols.
1. Register: Allows users to create a new account by providing necessary details like
name, email address, and password.
2. Login: Authenticates users using their credentials and grants access to the system.
3. Forgot Password: Enables users to reset their password in case they forget it.
4. Email/SMS Verification: Verifies user accounts through email or SMS
confirmation.
Profile Management Module:
1. Profile Editing: Allows users to edit and update their profile information, including
profile pictures, cover photos, personal details, bio, work, education, etc.
2. Privacy Settings: Enables users to control the visibility of their profile and posts,
allowing customization of privacy preferences.
3. Friend List: Provides a list of connected friends and options to manage friend
requests.
News Feed Module:
1. Content Aggregation: Gathers and displays posts, photos, videos, and updates from
user's friends and pages they follow.
2. Post Creation: Allows users to create text-based posts, upload photos/videos, and
add captions or descriptions.
3. Interactions: Supports likes, comments, and shares on posts.
Friend Requests and Connections Module:
1. Friend Requests: Allows users to send, accept, or decline friend requests from other
users.
2. Connections: Manages the user's friend list, displaying current connections and
options to add or remove friends.
Messaging and Chat Module:
1. Private Messaging: Enables users to exchange private messages with their friends.
2. Group Chats: Supports the creation and participation in group chats with multiple users.
3. Real-time Messaging: Facilitates real-time messaging with instant message delivery and
notifications.
Notifications Module:
1. Post Sharing: Enables users to share posts, photos, videos, and links with their
friends and followers.
2. Post Interactions: Supports likes, comments, and shares on individual posts.
3. Privacy Controls: Provides options to control the visibility and audience of shared
posts.
Privacy and Security Module:
Page 13 of 77
1. Account Security: Implements measures like encryption and secure transmission of
data to ensure user account security.
2. Privacy Settings: Allows users to control the visibility of their profile, posts, and
personal information.
3. Reporting and Moderation: Provides mechanisms for users to report and flag
inappropriate or abusive content.
Search Module:
1. User Search: Enables users to search for other users based on names, interests, or
other criteria.
2. Page Search: Facilitates searching and discovering pages of interest.
Analytics and Insights Module:
1. User Analytics: Provides insights into user activity, engagement, and interactions.
2. Content Analytics: Offers analytics and statistics related to posts, likes, shares, and
comments.
Administration Module:
2.3: Scope
Page 14 of 77
Create a platform where users can search for people according to their interests and can
create an online network of friends/study groups. No longer using one to one interaction to
facilitate communication. We can also engage students in college to attend the lecture in
social manner.
Page 15 of 77
14. Compliance and Security: Adhere to legal and regulatory
requirements, such as data protection laws, and implement security
measures to protect user data and prevent unauthorized access or
breaches.
15. Continuous Improvement: Regularly update and improve
the platform based on user feedback, technological advancements,
and industry trends to enhance user experience and stay
competitive.
Page 16 of 77
3. Analysis and Design
Page 17 of 77
3.1: Use Case Diagram
Page 18 of 77
3.1.2.Login page
Page 19 of 77
3.1.3.Friend request use case diagram
Page 20 of 77
Manage Application
Page 21 of 77
3.1.4 Upload Pictures/Videos
Page 22 of 77
Page 23 of 77
Activity Diagram
Page 24 of 77
Activity diagram for login
Page 25 of 77
3.2.2 Activity Diagram for Create a profile
Page 26 of 77
3.2.3Activity Diagram for Upload a Pictures
Page 27 of 77
3.3 Sequence Diagram
3.3.1 create account and login
Page 28 of 77
3.3.1 Login , Upload, Send/Recive Message And Log Out
Page 29 of 77
Page 30 of 77
3.3: Class Diagram
Page 31 of 77
3.4: Module Hierarchy Diagram
Page 32 of 77
3.5: Entity-Relationship Diagram
Page 33 of 77
3.5: Data Flow Diagram
Page 34 of 77
1st Level Data Flow Diagram
Page 35 of 77
2nd Level Data Flow Diagram
Page 36 of 77
3.6 Data Dictionary Diagram
Page 37 of 77
Software Engineering Project Report
3.6.2 User Info
Sr.No Field_Name DataType Description Constraints Table
NAme
1. User_post Int(7) Post of User_Info
User
2. Post_id Varchar Post Id of Primary User_Info
User key
3. User_id Varchar User id of User_Info
user
4. Post_Txt Varchar Post User_Info
comment
5. Post_Pic Varchar Post image User_Info
Page 38 of 77
3.6.3 User Post Comment
Page 39 of 77
3.6.4 user profile pic
Page 40 of 77
3.6.5 .Group Chat
Page 41 of 77
3.6.6 .Admin Info
Page 42 of 77
3.6.8 FeedBack
Page 43 of 77
4.User Manual
Page 44 of 77
4.1: User Interface Screen (INPUT)
Page 45 of 77
Page 46 of 77
Page 47 of 77
Page 48 of 77
Page 49 of 77
4.2 Output Screens with data
Page 50 of 77
Page 51 of 77
Page 52 of 77
Page 53 of 77
Page 54 of 77
Page 55 of 77
4.3 Sample program code
Page 56 of 77
Index.php
<?php
include("Login.php");
include("fb_files/fb_index_file/fb_SignUp_file/SignUp.php");
?>
<html>
<head>
<title> Facebook </title>
<?php
include("fb_files/fb_index_file/fb_background_file/index_background.php");
?>
<LINK REL="SHORTCUT ICON" HREF="fb_files/fb_title_icon/Faceback.ico" />
<link href="fb_files/fb_index_file/fb_css_file/index_css.css" rel="stylesheet"
type="text/css">
<link href="fb_files/fb_font/font.css" rel="stylesheet" type="text/css">
<script type="text/javascript"
src="fb_files/fb_index_file/fb_js_file/Registration_validation.js"> </script>
</head>
<script>
function time_get()
{
d = new Date();
mon = d.getMonth()+1;
time = d.getDate()+"-"+mon+"-"+d.getFullYear()+" "+d.getHours()
+":"+d.getMinutes();
Reg.fb_join_time.value=time;
}
</script>
<body>
<!--login form-->
<form method="post">
<div style="position:absolute; left:57.7%; top:2.2%; font-size:12px;
color:#FFFFFF;"> Email </div>
<div style="position:absolute; left:57.7%; top:5.18%; font-size:11px; ">
<input type="text" name="username" style="width:149.5;"/> </div>
<div style="position:absolute; left:57.4%; top:8.8%; font-size:12;
color:#CCCCCC;"> <input type="checkbox" checked="checked"> Keep me logged in
</div>
<div style="position:absolute;left:69.6%; top:2.2%; font-size:13px;
color:#FFFFFF"> Password </div>
<div style="position:absolute;left:69.6%; top:5.18%; font-size:13px; "> <input
type="password" name="password" style="width:149.5;"> </div>
<div style="position:absolute;left:69.6%; top:9.2%; font-size:12px;
color:#CCCCCC;"> <a href="Forgot_Password.php" style="color:#CCCCCC; text-
decoration:none;"> Forgot your password? </a> </div>
<div style="position:absolute;left:81.8%;top:5.2%; "> <input type="submit"
name="Login" value="Log In" id="login_button" /> </div>
Page 57 of 77
</form>
<!--Left part-->
<!--Mobile Image-->
<div style="position:absolute; left:5%; top:35%;"> <img
src="fb_files/fb_index_file/fb_image_file/Faceback_map.PNG" width="700" height="275">
</div>
<div style="position:absolute; left:7%; top:24%; color:#3B5998; font-size:28px;"> <font
face="myFbFont"> Facebook helps you connect and share with </font> </div>
<div style="position:absolute; left:7%; top:30%; color:#3B5998; font-size:28px;"> <font
face="myFbFont"> the people in your life. </font></div>
Page 58 of 77
<option value="Female"> Female </option>
<option value="Male"> Male </option>
</select>
</div>
<script type="text/javascript">
var m=new
Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
for(i=1;i<=m.length-1;i++)
{
document.write("<option value='"+i+"'>" + m[i] + "</option>");
}
</script>
</select>
</div>
<script type="text/javascript">
for(i=1;i<=31;i++)
{
document.write("<option value='"+i+"'>" + i + "</option>");
}
</script>
</select>
</div>
<div style='position:absolute;left:77.5%;top:74%;'>
<select name="year" style="width:70; font-size:18px; height:32; padding:3;">
<option value="Year:"> Year: </option>
<script type="text/javascript">
Page 59 of 77
for(i=1996;i>=1960;i--)
{
document.write("<option value='"+i+"'>" + i + "</option>");
}
</script>
</select>
</div>
<input type="hidden" name="fb_join_time">
<div style="position:absolute;left:65.2%; top:82%; "> <input type="submit"
name="signup" value="Sign Up" id="sign_button" / onClick="time_get()"> </div>
</form>
<!--my_details -->
<div style="display:none;" id="my_details">
<div style="position:absolute;left:12%;top:73%; height:30%; width:30%; z-index:2;
background:#000; opacity:0.5; box-shadow:10px 0px 10px 1px rgb(0,0,0);"> </div>
<div style="position:absolute;left:13%;top:75%; z-index:3;"> <img
src="fb_files/fb_index_file/fb_background_file/Developer_details/my.jpg" height="165"
width="150" style="box-shadow:0px 0px 10px 5px rgb(0,0,0);"> </div>
<div style="position:absolute;left:26%;top:75%; z-index:3; color:#FFF;"> <h2> <?php
echo base64_decode("QW1pdCBEb2RpeWEgKEFEKQ=="); ?> </h2> </div>
<div style="position:absolute;left:26%;top:83%; z-index:3; color:#FFF;"> <h3><?php
echo base64_decode("QW1pdC5hZDFpNEB5YWhvby5jb20="); ?> </h3> </div>
<div style="position:absolute;left:26%;top:90%; z-index:3; color:#FFF;"> <h3> <?php
echo base64_decode("NzYwMDg5ODIxMA=="); ?> </h3> </div>
</div>
<?php
include("fb_files/fb_index_file/fb_erorr_file/fb_erorr.php");
?>
</body>
</html>
Login.php
Page 60 of 77
<?php
if(isset($_POST['Login']))
{error_reporting(1);
$con=mysqli_connect('127.0.0.1:3307','root','','faceback');
$user=$_POST['username'];
$pass=$_POST['password'];
if($count1>0)
{
session_start();
$_SESSION['tempfbuser']=$user;
$que6=mysqli_query($con,"select * from users where Email='$user'");
$rec6=mysqli_fetch_array($que6);
$userid=$rec6[0];
if($count2>0)
{
$que3=mysqli_query($con,"select * from user_secret_quotes where
user_id=$userid");
$count3=mysqli_num_rows($que3);
if($count3>0)
{
$que4=mysqli_query($con,"select * from user_secret_quotes
where user_id=$userid");
while($rec=mysqli_fetch_array($que4))
{
$que2=$rec[3];
$ans2=$rec[4];
}
if($que2=="" && $ans2=="")
{
header("location:fb_files/fb_step/fb_step3/Secret_Question2.php");
}
else
{
session_start();
$_SESSION['fbuser']=$user;
Page 61 of 77
$query1=mysqli_query($con,"select * from users where
Email='$user'");
$rec1=mysqli_fetch_array($query1);
$userid=$rec1[0];
mysqli_query($con,"update user_status set
status='Online' where user_id='$userid'");
header("location:fb_files/fb_home/Home.php");
}
}
else
{
header("location:fb_files/fb_step/fb_step2/Secret_Question1.php");
}
}
else
{
while($rec=mysqli_fetch_array($que1))
{
$Gender=$rec[4];
}
if($Gender=="Male")
{
header("location:fb_files/fb_step/fb_step1/Step1_Male.php");
}
else
{
header("location:fb_files/fb_step/fb_step1/Step1_Female.php");
}
}
}
else
{
$que5=mysqli_query($con,"select * from users where Email='$user'");
$count5=mysqli_num_rows($que5);
if($count5>0)
{
header("location:Invalid_Password.php");
}
else
{
header("location:Invalid_Username.php");
}
}
} ?>
Home.php
Page 62 of 77
<?php
session_start();
error_reporting(1);
if(isset($_SESSION['fbadmin']))
{
include("background.php");
?>
<?php
if(isset($_POST['delete_post']))
{
$post_id=intval($_POST['post_id']);
mysql_query("delete from user_post where post_id=$post_id;");
}
if(isset($_POST['delete_comment']))
{
$comm_id=intval($_POST['comm_id']);
mysql_query("delete from user_post_comment where
comment_id=$comm_id;");
}
?>
<html>
<head>
<title>Home</title>
<script src="Home_js/home.js" language="javascript"></script>
</head>
<body>
<div style="position:absolute;left:35%; top:8%;"> <h1> All Public Post </h1> </div>
<div style="position:absolute;left:19%; top:20%;">
<table cellspacing="0">
<?php
$que_post=mysql_query("select * from user_post where priority='Public' order by
post_id desc");
while($post_data=mysql_fetch_array($que_post))
{
$postid=$post_data[0];
$post_user_id=$post_data[1];
$post_txt=$post_data[2];
$post_img=$post_data[3];
$que_user_info=mysql_query("select * from users where
user_id=$post_user_id");
$que_user_pic=mysql_query("select * from user_profile_pic where
user_id=$post_user_id");
$fetch_user_info=mysql_fetch_array($que_user_info);
$fetch_user_pic=mysql_fetch_array($que_user_pic);
$user_name=$fetch_user_info[1];
$user_Email=$fetch_user_info[2];
Page 63 of 77
$user_gender=$fetch_user_info[4];
$user_pic=$fetch_user_pic[2];
?>
<tr>
<td colspan="4"align="right" style="border-top:outset; border-top-
width:thin;">
<form method="post">
<input type="hidden" name="post_id" value="<?php echo
$postid; ?>" >
<input type="submit" name="delete_post" value=" "
style="background-color:#FFFFFF; border:#FFFFFF;
background-image:url(img/delete_post.gif); width:2.3%;">
</form></a> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="5%" style="padding-left:25;" rowspan="2"> <img
src="../../fb_users/<?php echo $user_gender; ?>/<?php echo $user_Email; ?>/Profile/<?php
echo $user_pic; ?>" height="60" width="55"> </td>
<td > </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="3" style="padding:7;"> <a
href="../fb_view_profile/view_profile.php?id=<?php echo $post_user_id; ?>" style="text-
transform:capitalize; text-decoration:none; color:#003399;"
onMouseOver="post_name_underLine(<?php echo $postid; ?>)"
onMouseOut="post_name_NounderLine(<?php echo $postid; ?>)" id="uname<?php echo
$postid; ?>"> <?php echo $user_name; ?> </a> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?php
$len=strlen($post_data[2]);
if($len>0 && $len<=73)
{
$line1=substr($post_data[2],0,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<?php
}
Page 64 of 77
else if($len>73 && $len<=146)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
?>
<tr >
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr >
<td> </td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
</tr>
<?php
}
else if($len>146 && $len<=219)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
$line3=substr($post_data[2],146,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line3; ?> </td>
</tr>
<?php
}
else if($len>219 && $len<=292)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
$line3=substr($post_data[2],146,73);
$line4=substr($post_data[2],219,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
</tr>
Page 65 of 77
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line3; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line4; ?> </td>
</tr>
<?php
}
else if($len>292 && $len<=365)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
$line3=substr($post_data[2],146,73);
$line4=substr($post_data[2],219,73);
$line5=substr($post_data[2],292,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line3; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line4; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line5; ?> </td>
</tr>
<?php
}
else if($len>365 && $len<=438)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
$line3=substr($post_data[2],146,73);
Page 66 of 77
$line4=substr($post_data[2],219,73);
$line5=substr($post_data[2],292,73);
$line6=substr($post_data[2],365,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line3; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line4; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line5; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line6; ?> </td>
</tr>
<?php
}
else if($len>438 && $len<=511)
{
$line1=substr($post_data[2],0,73);
$line2=substr($post_data[2],73,73);
$line3=substr($post_data[2],146,73);
$line4=substr($post_data[2],219,73);
$line5=substr($post_data[2],292,73);
$line6=substr($post_data[2],365,73);
$line7=substr($post_data[2],438,73);
?>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line1; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line2; ?> </td>
Page 67 of 77
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line3; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line4; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line5; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line6; ?> </td>
</tr>
<tr>
<td></td>
<td colspan="3" style="padding-left:7;"><?php echo $line7; ?> </td>
</tr>
<?php
}
?>
<?php
if($post_data[3]!="")
{
?>
<tr>
<td> </td>
<td colspan="3"><img src="../../fb_users/<?php echo $user_gender; ?>/<?php
echo $user_Email; ?>/Post/<?php echo $post_img; ?>" width="400" height="400"> </td>
<td> </td>
<td> </td>
</tr>
<?php
}
?>
<tr style="color:#6D84C4;">
<td > </td>
<td style="padding-top:15;">
<input type="button" value="Like" name="Like" style="border:#FFFFFF;
background:#FFFFFF; font-size:15px; color:#6D84C4;" onMouseOver="like_underLine(<?
php echo $postid; ?>)" onMouseOut="like_NounderLine(<?php echo $postid; ?>)"
id="like<?php echo $postid; ?>">
Page 68 of 77
</td>
<?php
<?php
while($comment_data=mysql_fetch_array($que_comment))
{
$comment_id=$comment_data[0];
$comment_user_id=$comment_data[2];
Page 69 of 77
$que_user_info1=mysql_query("select * from users where
user_id=$comment_user_id");
$que_user_pic1=mysql_query("select * from user_profile_pic where
user_id=$comment_user_id");
$fetch_user_info1=mysql_fetch_array($que_user_info1);
$fetch_user_pic1=mysql_fetch_array($que_user_pic1);
$user_name1=$fetch_user_info1[1];
$user_Email1=$fetch_user_info1[2];
$user_gender1=$fetch_user_info1[4];
$user_pic1=$fetch_user_pic1[2];
?>
<tr>
<td> </td>
<td width="4%" bgcolor="#EDEFF4" style="padding-left:12;" rowspan="2">
<img src="../../fb_users/<?php echo $user_gender1; ?>/<?php echo $user_Email1;
?>/Profile/<?php echo $user_pic1; ?>" height="40" width="47"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" > <a
href="../fb_view_profile/view_profile.php?id=<?php echo $comment_user_id; ?>"
style="text-transform:capitalize; text-decoration:none; color:#3B5998;"
onMouseOver="Comment_name_underLine(<?php echo $comment_id; ?>)"
onMouseOut="Comment_name_NounderLine(<?php echo $comment_id; ?>)"
id="cuname<?php echo $comment_id; ?>"> <?php echo $user_name1; ?></a> </td>
<?php
$clen=strlen($comment_data[3]);
if($clen>0 && $clen<=60)
{
$cline1=substr($comment_data[3],0,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<?php
}
else if($clen>60 && $clen<=120)
Page 70 of 77
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<?php
}
else if($clen>120 && $clen<=180)
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
$cline3=substr($comment_data[3],120,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline3; ?></td>
</tr>
<?php
}
else if($clen>180 && $clen<=240)
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
$cline3=substr($comment_data[3],120,60);
$cline4=substr($comment_data[3],180,60);
?>
<tr>
Page 71 of 77
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline3; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline4; ?></td>
</tr>
<?php
}
else if($clen>240 && $clen<=300)
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
$cline3=substr($comment_data[3],120,60);
$cline4=substr($comment_data[3],180,60);
$cline5=substr($comment_data[3],240,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline3; ?></td>
</tr>
<tr>
Page 72 of 77
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline4; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline5; ?></td>
</tr>
<?php
}
else if($clen>300 && $clen<=360)
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
$cline3=substr($comment_data[3],120,60);
$cline4=substr($comment_data[3],180,60);
$cline5=substr($comment_data[3],240,60);
$cline6=substr($comment_data[3],300,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline3; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline4; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline5; ?></td>
Page 73 of 77
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline6; ?></td>
</tr>
<?php
}
else if($clen>360 && $clen<=420)
{
$cline1=substr($comment_data[3],0,60);
$cline2=substr($comment_data[3],60,60);
$cline3=substr($comment_data[3],120,60);
$cline4=substr($comment_data[3],180,60);
$cline5=substr($comment_data[3],240,60);
$cline6=substr($comment_data[3],300,60);
$cline7=substr($comment_data[3],360,60);
?>
<tr>
<td> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline1; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline2; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline3; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline4; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline5; ?></td>
</tr>
<tr>
<td> </td>
Page 74 of 77
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline6; ?></td>
</tr>
<tr>
<td> </td>
<td bgcolor="#EDEFF4"> </td>
<td bgcolor="#EDEFF4" style="padding-left:7;" colspan="2"> <?php echo
$cline7; ?></td>
</tr>
<?php
}
?>
<?php
}
?>
<tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></
td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></
td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></
td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></
td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td></
tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></
td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td></td><td></
td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td></tr>
<?php
}
?>
</table>
</div>
</body>
</html>
<?php
}
else
{
header("location:../../index.php");
}
?>
Page 75 of 77
4.4: Limitations and Bibliography
Page 76 of 77
Legal and Intellectual Property Issues: Developing a Facebook clone can potentially
infringe on Facebook's intellectual property rights and trademarks. It is important to
thoroughly research and understand the legal implications and potential consequences
before proceeding with the project.
Platform Ecosystem: Facebook has an extensive ecosystem with third-party integrations,
APIs, and developer tools. Replicating the entire ecosystem and the associated developer
support can be challenging and time-consuming.
Continuous Innovation: Facebook is continuously evolving, introducing new features,
updates, and improvements. Keeping up with the pace of innovation and delivering
comparable features in a clone can be demanding, especially for a small development
team or limited resources.
Trust and Security: Building trust and ensuring the security of user data are crucial
considerations. Users are increasingly concerned about data privacy and security. It is
essential to implement robust security measures and address user trust concerns to gain
user adoption and maintain a secure environment.
Bibliography
Page 77 of 77