Lecture 27
CONNECTIONS: A Web
Application
Mr. Mubashir Ali
Lecturer (Dept. of Computer Science)
[email protected] 1
Summary of the previous lecture
• Deleting records in MySQL using PHP
• Updating records in MySQL using PHP
Mubashir Ali - Lecturer (Department of
2
Computer Science).
Outline
• User registration (already discussed)
• User login (already discussed)
• Send Message
• Inbox
• Out Box
• Sign-Out
Mubashir Ali - Lecturer (Department of
3
Computer Science).
1. User registration
• User registration form:
– Home page
• Action page:
– Retrieve user’s input
– Validate input
– Connection with DB
– Insert record into users table
Mubashir Ali - Lecturer (Department of
4
Computer Science).
2. User login
• User login form:
– Home page
• Action page:
– Retrieve user’s input
– Connection with DB
– Select record from users table where user email
and password are same as user’s input
Mubashir Ali - Lecturer (Department of
5
Computer Science).
2. User login…
• If one row is selected then:
– Session variables are registered
• $_SESSION[‘name’];
• $_SESSION[‘email’];
• $_SESSION[‘password’];
– Redirect to user’s page
• Redirect to index page with error message
Mubashir Ali - Lecturer (Department of
6
Computer Science).
3. Send message
• Create a table in connections database as:
– Table Name: messages
– No. of fields: 4
• message_Id int 5
• s_Email varchar 50
• r_Email varchar 50
• message varchar 500
Mubashir Ali - Lecturer (Department of
7
Computer Science).
3. Send message…
Table fields
Mubashir Ali - Lecturer (Department of
8
Computer Science).
3. Send message…
• Form to send message:
– Receiver email: data-list of users
– Message: text-area
– Submit button
• Action page:
– Retrieve receiver email and message from post
array
– Retrieve sender email from $_SEESION[‘email’]
– Insert data into messages table
Mubashir Ali - Lecturer (Department of
9
Computer Science).
3. Send message…
Session starts
DB connection
HTML
page
starts
Mubashir Ali - Lecturer (Department of
10
Computer Science).
3. Send message…
header
links
Mubashir Ali - Lecturer (Department of
11
Computer Science).
3. Send message…
Form starts
First row shows the
message from action
page
Mubashir Ali - Lecturer (Department of
12
Computer Science).
3. Send message…
Input field
List
attribute
Datalist starts
Selects users
Loop starts
Sets options
Loop ends
Datalist ends
Mubashir Ali - Lecturer (Department of
13
Computer Science).
3. Send message…
Textarea for
message
Submit button
Form ends
Mubashir Ali - Lecturer (Department of
14
Computer Science).
3. Send message…
Footer div
Mubashir Ali - Lecturer (Department of
15
Computer Science).
3. Send message…
header
form
actions
footer
Mubashir Ali - Lecturer (Department of
16
Computer Science).
3. Send message…
Session starts Sender’s email
from session
User’s
input
DB Connection
Insertion
Instruction
Query executed
redirection
Mubashir Ali - Lecturer (Department of
17
Computer Science).
4. Inbox page
• Session starts
• DB connection
• Retrieve receiver id from session
• Select messages against user’s id
• Display structure
• Display all messages
Mubashir Ali - Lecturer (Department of
18
Computer Science).
4. Inbox page
Session starts
DB connection
CSS is included
Mubashir Ali - Lecturer (Department of
19
Computer Science).
4. Inbox page…
Header and logo
Action box
Mubashir Ali - Lecturer (Department of
20
Computer Science).
4. Inbox page…
User’s id
Messages
received by user
Instruction executed
Message is fetched
Sender’s
information
Mubashir Ali - Lecturer (Department of
21
Computer Science).
4. Inbox page…
Sender’s picture
Sender’s
email
Loop ends
message
Footer
Mubashir Ali - Lecturer (Department of
22
Computer Science).
4. Inbox page…
message
Sender pic
Mubashir Ali - Lecturer (Department of
23
Computer Science).
5. Outbox page
• Session starts
• DB connection
• Retrieve receiver id from session
• Select messages sent against user’s id
• Display structure
• Display all messages
Mubashir Ali - Lecturer (Department of
24
Computer Science).
5. Outbox page…
Messages sent
by the user
Messages are fetched
Receiver’s info
Mubashir Ali - Lecturer (Department of
25
Computer Science).
5. Outbox page…
Messages are
displayed
Mubashir Ali - Lecturer (Department of
26
Computer Science).
5. Outbox page…
Mubashir Ali - Lecturer (Department of
27
Computer Science).
6. Sign-Out
• Starts session
• Destroy session
• Redirect
Mubashir Ali - Lecturer (Department of
28
Computer Science).
6. Sign-Out…
Session starts
Session destroys
redirection
Mubashir Ali - Lecturer (Department of
29
Computer Science).
Summary
• User registration (already discussed)
• User login (already discussed)
• Send Message
• Inbox
• Out Box
• Sign-Out
Mubashir Ali - Lecturer (Department of
30
Computer Science).
References
• Chapter 30, “Beginning PHP and MySQL” by
W. Jason Gilmore, Apress publisher, 4th
edition; 2010, ISBN-13 (electronic): 978-1-
4302-3115-8.
Mubashir Ali - Lecturer (Department of
31
Computer Science).