100% found this document useful (4 votes)
3K views

College Notes Gallery

This document describes a mini project report for a College Notes Gallery system. The system allows students, teachers, and administrators to securely upload, download, and manage course notes online. It aims to reduce manual paperwork and the time spent distributing notes by providing an automated online platform. Key features include multiple user accounts, an admin panel for management, and CRUD functionality for creating, reading, updating, and deleting notes. The system is designed to improve efficiency and reliability compared to existing manual processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
3K views

College Notes Gallery

This document describes a mini project report for a College Notes Gallery system. The system allows students, teachers, and administrators to securely upload, download, and manage course notes online. It aims to reduce manual paperwork and the time spent distributing notes by providing an automated online platform. Key features include multiple user accounts, an admin panel for management, and CRUD functionality for creating, reading, updating, and deleting notes. The system is designed to improve efficiency and reliability compared to existing manual processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

Belagavi-590018

A
Mini Project Report
On
College Notes Gallery

Submitted in partial fulfillment of Bachelor of engineering in


Computer Science and Engineering
VII semester, 15CSL77-Mini Project
for the academic Year 2020-2021

Submitted by

Sheikh Junaid Nazir 1HK16CS143


Muntazir Hussain Bhat 1HK16CS104

Under the guidance of

Prof. Pakruddin B
Assistant Professor
Department of Computer Science & Engineering

2020-21

Department of Computer Science & Engineering


HKBK COLLEGE of ENGINEERING
(Approved by AICTE & Affiliated to VTU)
#22/1, Nagawara, Arabic College Post, Bangalore-45, Karnataka
Email: [email protected]
URL: www.hkbk.edu.in
HKBK COLLEGE of ENGINEERING
Nagawara, Bangalore–560 045
Approved by AICTE & Affiliated to VTU

Department of Computer Science and Engineering

Certificate
Certified that the Mini Project entitled “College Notes Gallery”, carried out by
Sheikh Junaid Nazir (1HK16CS143) and Muntazir Hussain Bhat(1HK16CS104)
are bonafide students of HKBK COLLEGE of ENGINEERING, in partial
fulfillment for the award of Bachelor of Engineering in Computer Science and
Engineering of the Visvesvaraya Technological University, Belagavi, during the
year 2020–21. It is certified that all corrections/suggestions indicated for Internal
Assessment have been incorporated in the report deposited in the departmental library.
The project report has been approved as it satisfies the academic requirements in
respect of 15CSL77–Web Technology Laboratory with Mini Project prescribed for
the said Degree.

Prof. Pakruddin B Dr. Loganathan R


Assistant Professor Professor & HOD
Guide

External Viva
Name of the Examiners Signature with Date

1.

2.
ACKNOWLEDGEMENT

I would like to express my regards and acknowledgement to all who helped me in


completing this project successfully.

First of all, I would take this opportunity to express my heartfelt gratitude to the
personalities of HKBK College of Engineering, the Chairman Mr. C M Ibrahim, and the
Director Mr. C M Faiz Mohammed, for providing facilities and untiring Zeal,
throughout the course.

I express my sincere gratitude to the principal Dr. M.S. Bhagyashekar, for his support and
which inspired me towards the attainment of knowledge.

I consider it as great privilege to convey my sincere regards to Professor and Head Dr.
Loganathan. R., Department of CSE, HKBKCE, Bangalore for his constant
encouragement throughout the course of the project.

I would specially like to thank my guide, Prof. Pakruddin. B, for his vigilant supervision
and his constant encouragement. He spent his precious time in reviewing the project work
and provided many insightful comments and constructive criticism.

Finally, I thank Almighty, all the staff members of CSE Department, my family members
and friends for their constant support and encouragement in carrying out the project work.

1HK16CS143 Sheikh Junaid Nazir


1HK16CS104 Muntazir Hussain Bhat

i
HKBK College of Engineering
No. 22/1, Nagawara, AC Post, Bengaluru-560045 Department of
Computer Science & Engineering

ABSTRACT

College Notes Gallery is a web-based notes sharing and management system which helps

students and teachers to share their notes online effectively. It reduces the wasting of time in

manually distributing notes to each individual. It greatly overcomes the lack of availability and

converts the manual old school paperwork to a fully automated and managed online system.

College Notes Gallery allows its users to securely register and log in to their individual

accounts and create, read, update, delete notes according to their needs. It provides notes to

everyone in a very secure manner. Multiple users can work in this system at the same time under

centralized supervision by administrator. It is a very useful notes management system for

Colleges, Schools and other Institutes to manage and share their notes in a secure, efficient and

effective manner.

ii
TABLE OF CONTENTS
Acknowledgment i

Abstract ii

CHAPTER 1. INTRODUCTION
1.1 Introduction 1
1.2 Problem Statement 1
1.3 Proposed system 1
1.4 Objectives 2
1.5 Outcomes of the Project 2

CHAPTER 2. REQUIREMENT ANALYSIS


2.1 Initial Investigation 4
2.2 Information Gathering 5
2.3 Feasibility Study 5
2.4 Existing System 6
2.5 Proposed System 6
2.6 Advantages of proposed system 9

CHAPTER 3. SYSTEM REQUIREMENT SPECIFICATION


3.1 Functional Requirements 11

3.2 Non-Functional Requirements 11

CHAPTER 4. SYSTEM DESIGN


4.1 System Architecture 13

4.2 Flow Chart 14

CHAPTER 5. IMPLEMENTATION
5.1 Tools and Languages Used 16

5.2 Module 16-29

CHAPTER 6. SNAPSHOTS 31-33

CHAPTER 7. CONCLUSION AND FUTURE WORK

REFERENCES
`

CHAPTER -1
INTRODUCTION
Chapter 1
INTRODUCTION

1.1 Introduction
College Notes Gallery is a web-based notes sharing and management system which helps
students and teachers to share their notes online effectively. It reduces the wasting of time
in manually distributing notes to each individual. It greatly overcomes the lack of
availability and converts the manual old school paperwork to a fully automated and
managed online system. College Notes Gallery allows its users to securely register and log
in to their individual accounts and create, read, update, delete notes according to their
needs. It provides notes to everyone in a very secure manner. Multiple users can work in
this system at the same time under centralized supervision by administrator. It is very
useful notes management system for Colleges, Schools and other Institutes to manage and
share their notes in a secure, efficient and effective manner.

1.2 Problem Statement

College Notes Gallery A notes management system which helps users to upload,
download and manage notes of their particular course. The whole system is coded in core
PHP and MySQL. Requirements: PHP 5.3 or higher recommended MySQL DB Ability to
write hatches file for apache mod rewrite Installation: Upload College-Notes-Gallery to
the directory of your choice. Import MySQL Db file to your database software (E.g. :
phpMyAdmin ) Configure connection to your database and server by modifying
connection file Navigate to the installation in your browser Done :) Login Details: Admin:
username: root password: admin root User: username: user password: user pass Main
Features: Multiple user access: Allows multiple type of users(teacher/student/admin) to
login Functional Admin panel: Allows admins to manage the whole system CRUD
functionalities: Allows all users to create,read,update and delete their notes in a managed
format Profile update option: Allows users to update their profile/account details Secure
registration and login option for users Allows students and teachers to download/upload
their course notes easily Allows users to recover their password using forgot password
option.

1.3 Proposed System

Students and Teachers can create their accounts and start viewing notes shared by other
users as well as upload their own notes. Administrator is must be an authorized user who
will keep track of all the uploaded notes and manage users as well through the admin
panel. New features can be added to the system as per requirements
1.4 Objective

The objectives of the system are-


➢ To reduce manual paperwork.
➢ Reduced sharing and distribution time.
➢ Increased reliability.
➢ Increased operational efficiency.
➢ Data security.
This Notes Management System can be readily used by non-programming personal
avoiding human handled chance of error. This project is used by Three types of users
i. Students.
ii. Teachers
iii. Administrators
Students and Teachers can create their accounts and start viewing notes shared by other
users as well as upload their own notes. Administrator is must be an authorized user who
will keep track of all the uploaded notes and manage users as well through the admin
panel. New features can be added to the system as per requirements.

1.5 Modification and improvement over the existing implementation

Chat zone provide a user-friendly platform for voice call and video call. We can text on
this platform.
Present State:
• No Software present at all.
• Time consumed in distributing notes to everyone individually.
• Manual Paperwork.
• Students are informed by sending mail to them manually about the notes.
• Lack of accessibility.

After implementation of project:


• Easy to use web-based system.
• Users can register online.
• Notes are accessible from anywhere.
• Centralized control by administrator.
• Managed notes in a secure manner
Scope
This project has a large scope as it has the following features which help in making it
easy to use, understand and modify it:
➢ Ease of sharing notes
➢ No Need to do Paper Work.
➢ To save the environment by using paper free work.
➢ To increase the efficiency of the notes.
➢ Management of all notes.
➢ Easy and secure user log in and registration.
➢ Easy password recovery through email.
➢ Department based notes management.

Main Points are: -


• Simplified Management of all notes.
• Upload of notes.
• Approve and disapprove notes features.
• Admin Panel.
• User profile management.
CHAPTER -2
REQUIREMENT
SPECIFICATION
Chapter 2
REQUIREMENT SPECIFICATION

2.1 Tools

❖ LAMP: - LAMP is an archetypal model of web service stacks, named as an acronym of the names
of its original four open-source components: the Linux Operating System, the Apache HTTP
Server, the MYSQL relational database management (RDBMS), and the PHP Programming
Language. The LAMP components are largely interchangeable and not limited to the original
selection. As a solution stack, LAMP is suitable for building dynamic web sites and web
applications.
Since its creation, the LAMP model has been adapted to other componentry, though
typically consisting of free and open-source software. For example, an equivalent installation on
the Microsoft Windows family of operating systems is known as WAMP and an equivalent
installation on macOS is known as MAMP.
❖ PhpMyAdmin: - phpMyAdmin is a free and open-source administration tool for MYSQL and
MariaDB. As a portable web application written primarily in PHP, it has become one of the most
popular MySQL administration tools, especially for web hosting services.

2.1.1 Technology:
❖ PHP: - PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open-source
general-purpose scripting language that is especially suited for web development and can be
embedded into HTML.
❖ SQL: - SQL is a structured query language used for querying database.
❖ HTML: - It is used for giving eye catching look to the website. And also providing easy
to use GUI.
❖ CSS: - CSS is cascading style sheet which is used to give designer look to HTML using
the external file.
❖ Java script: - Java script is used for client-side scripting which can help in using validation on the
website and many more other functions.
2.2 Feasibility study.

The feasibility study is an evaluation and analysis of the potential of a proposed project
which is based on extensive investigation and research to support the process of decision
making. Depending on the results of the initial investigation the survey is now expanded
to a more detailed feasibility study.
1. Technical Feasibility: In technical feasibility, we study all technical issues regarding
the proposed system. It is mainly concerned with the specifications of the equipment’s and
the software, which successfully satisfies the end-user’s requirement. The technical needs
of the system may vary accordingly but include:
• The feasibility to produce outputs in a given time.
• Response time under certain conditions.
• Ability to process a certain volume of the transaction at a particular speed.
• Facility to communicate data
2. Operational Feasibility: In the existing manual system it is very difficult to maintain
and update huge amount of information. This system, will handles the request in a better
way and make the process easier thus, it is sure that the system developed is operationally
feasible.
3. Economic Feasibility: The application can be developed within budget.
2.3 Existing system

The existing communication system is not built as a software application. Everybody can
download the notes form the internet but it takes time to search the notes and find the appropriate
one. To make this complex job simple and allows the users to participate in simple
communication and save unproductive time it is to be built as a software application. This type of
communication channel fails in providing effective user-friendly communication between the
users. The Notes gallery application is built to make the students time worth and use that time in
some productive activities and ease of access for the students.

2.4 Proposed System

PROPOSED METHOD WITH ARCHITECTURE

The college notes gallery is designed to make ease of access for the students and the teachers also
in order to keep the notes at one place and make their work hassle free. The application is
developed by using the PHP for the back-end programing and CSS & JavaScript for the front end
developing.

The architecture is based on the single side server which includes the teacher and the student
interface in the same menu. Both the students and the teacher can upload the notes and also view or
download them

2.5 Advantages of the Proposed System

➢ It can be thought to find a time that works for all necessary participants searching
the notes through random internet sites.
➢ Notes gallery is much more flexible.
➢ Participants can access from work, School or home.
➢ It also makes it easy to exchange the notes in Realtime and make much easier to
access the material.
CHAPTER -3
SYSTEM REQUIREMENTS
Chapter 3
SYSTEM REQUIREMENT SPECIFICATION

3.1 Functional Requirements

Functional Requirements: The primary requirement of a browser and an internet connection.


3.2 Non-Functional Requirements:

• Any kind of the text viewer is needed according to the format of the document.

• No other hassle

Hardware Requirements:

• Operating System: Any (Windows/Android/IOS/Linux)

• Browser: Chrome, Firefox, Opera, Swift, Safari etc.

• Text viewer like WordPad/ Office/ Adobe/ Foxit

Software Requirements:

• Language: HTML, JavaScript, CSS


CHAPTER -4
SYSTEM DESIGN
Chapter 4

SYSTEM DESIGN
4.1 System Architecture

User Sing In

Check User
Yes
No

Register Validate

Upload

Access Download

Profile Update

Fig 4.1 system architecture


4.2: FLOW CHART

Start

Home

Login Register

Validate
User Invalid

Role Authentication

Profile
Upload Download
Update

END

Fig 4.2 flowchart


CHAPTER -5
IMPLEMENTATION
Chapter 5
IMPLEMENTATION

5.1 Tools and language used.

The tools used in this project are as follows:


Hardware Tools

• Intel Core i5 Dual Core


• 4GB RAM and above
• Above 64 32bit OS Windows * and above

Software Tools
• Operating System: Advanced OS.
• Platform: Visual studio code, browser.
• Front End: HTML, CSS and BOOTSTRAP.
• Back End: JavaScript, PHP.
• Web Server: XAMPP Server/Apache Server

5.2 Modules.

5.2.1 Title Page

<?php include 'includes/connection.php';?>


<?php include 'includes/header.php';?>
<?php include 'includes/navbar.php';?>

<br><br>
<link rel="stylesheet" type="text/css" href="styles.css" media="all" />
<link rel="stylesheet" type="text/css" href="demo.css" media="all" />
<!-- jQuery -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<!-- FlexSlider -->
<script type="text/javascript" src="js/jquery.flexslider-
min.js"></script>
<script type="text/javascript" charset="utf-8">
var $ = jQuery.noConflict();
$(window).load(function() {
$('.flexslider').flexslider({
animation: "fade"
});

$(function() {
$('.show_menu').click(function(){
$('.menu').fadeIn();
$('.show_menu').fadeOut();
$('.hide_menu').fadeIn();
});
$('.hide_menu').click(function(){
$('.menu').fadeOut();
$('.show_menu').fadeIn();
$('.hide_menu').fadeOut();
});
});
});
</script>

<div class="slider_container">
<div class="flexslider">
<ul class="slides">
<li>
<a href="#"><img src="images/slider/slide1.jpg" alt=""
title=""/></a>
<div class="flex-caption">
<div class="caption_title_line"><h2>Easy Notes
Management</h2><p>Now easily manage all kind of notes by uploading them
here.</p></div>
</div>
</li>
<li>
<a href="#"><img src="images/slider/slide2.jpg" alt=""
title=""/></a>
<div class="flex-caption">
<div class="caption_title_line"><h2>Upload Various
Files</h2><p>User can upload various types of files like PDF, PPT, DOC
etc..</p></div>
</div>
</li>
<li>
<a href="#"><img src="images/slider/slide3.jpg" alt=""
title=""/></a>
<div class="flex-caption">
<div class="caption_title_line"><h2>Controled By
Admin</h2><p>Everying is managed and controled by administrator</p></div>
</div>
</li>
<li>
<a href="#"><img src="images/slider/slide4.jpg" alt=""
title=""/></a>
<div class="flex-caption">
<div class="caption_title_line"><h2>Login For Both
Teacher and Student</h2><p>Both teacher and student can login and upload
notes </p></div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>

</body>
</html>
<?php include 'includes/footer.php';?>
5.2.2 Home Page

<?php include 'includes/connection.php';?>


<?php include 'includes/header.php';?>
<?php include 'includes/navbar.php';?>

<?php
session_start();
if (isset($_POST['login'])) {
$username = $_POST['user'];
$password = $_POST['pass'];
mysqli_real_escape_string($conn, $username);
mysqli_real_escape_string($conn, $password);
$query = "SELECT * FROM users WHERE username = '$username'";
$result = mysqli_query($conn , $query) or die (mysqli_error($conn));
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$id = $row['id'];
$user = $row['username'];
$pass = $row['password'];
$name = $row['name'];
$email = $row['email'];
$role= $row['role'];
$course = $row['course'];
if (password_verify($password, $pass )) {
$_SESSION['id'] = $id;
$_SESSION['username'] = $username;
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['role'] = $role;
$_SESSION['course'] = $course;
header('location: dashboard/');
}
else {
echo "<script>alert('invalid username/password');
window.location.href= 'login.php';</script>";

}
}
}
else {
echo "<script>alert('invalid username/password');
window.location.href= 'login.php';</script>";

}
}
?>

<div class="login-card">
<h1>Log-in</h1><br>
<form method="POST">
<input type="text" name="user" placeholder="Username" required="">
<input type="password" name="pass" placeholder="Password" required="">
<input type="submit" name="login" class="login login-submit"
value="login">
</form>

<div class="login-help">
<a href="signup.php">Register</a> • <a
href="recoverpassword.php">Forgot Password</a>
</div>
</div>
<script src='css/jquery.min.js'></script>
<script src='css/jquery-ui.min.js'></script>
</body>
</html>

Recover Password
<?php include 'includes/connection.php';?>
<?php include 'includes/header.php';?>
<?php include 'includes/navbar.php';?>

<?php
if (isset($_POST['recover'])) {
$email = mysqli_real_escape_string($conn , $_POST['email']);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$query = "SELECT email FROM users WHERE email = '$email'";
$run = mysqli_query($conn , $query) or die (mysqli_error($conn)
);
if (mysqli_num_rows($run) > 0) {
function generateRandomString($length = 5) {
return
substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFG
HIJKLMNOPQRSTUVWXYZ"), 0, $length);
}
$token_tmp = generateRandomString();
$token = md5($token_tmp);
$url = $_SERVER['REQUEST_URI'];
$parts = explode('/',$url);
$dir = $_SERVER['SERVER_NAME'];
for ($i = 0; $i < count($parts) - 1; $i++) {
$dir .= $parts[$i] . "/";
}
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to
use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and
backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP
authentication
$mail->Username = '[email protected]'; //
SMTP username
$mail->Password = 'collegegallery'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS
encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to
connect to
$mail->setFrom('[email protected]', 'Admin');
$mail->addReplyTo('[email protected]', 'Admin');
$mail->addAddress($email);
$mail->isHTML(true); // Set email format to HTML
$bodyContent = '<h1>Recover Password Link: </h1>';
$bodyContent .= 'http://' . $dir .
'verifytoken.php?token='.$token;
$mail->Subject = 'Email from collegenotesgallery ';
$mail->Body = $bodyContent;
$query2 = "UPDATE users set token = '$token' WHERE email =
'$email'";
$run = mysqli_query($conn , $query2) or
die(mysqli_error($conn));
$count = mysqli_affected_rows($conn);
if($mail->send() && ($count > 0)) {
echo "<center> <font color = 'green' >Email with recover
password link has been sent </font><center> " ;
} else {
echo "<center> <font color = 'red' >'Message could not be
sent.'</font><center> ";
echo "<center> <font color = 'red' >'Mailer Error: ' .
$mail->ErrorInfo </font><center> ";
}
}
else {
echo "<center> <font color = 'red' > Entered email does not
match to any record </font><center> ";
}
}
else {
echo "<center> <font color = 'red' > Invalid email type
</font><center> ";
}
}
?>
<div class="login-card">
<h1>Recover Password</h1><br>
<form action = "" method="POST">
<input type="text" name="email" placeholder="Enter your
Email" required="">
<input type="submit" name="recover" class="login login-
submit" value="send">
</form>
<div class="login-help">
<a href="signup.php">Register</a> • <a
href="login.php">Login</a>
</div>
</div>
<script
src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.
min.js'></script>
<script
src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquer
y-ui.min.js'></script>
</body>
</html>
5.2.3 Signup

<?php include 'includes/connection.php';?>


<?php include 'includes/header.php';?>

<?php include 'includes/navbar.php';?>

<?php
if (isset($_POST['signup'])) {
require "gump.class.php";
$gump = new GUMP();
$_POST = $gump->sanitize($_POST);

$gump->validation_rules(array(
'username' => 'required|alpha_numeric|max_len,20|min_len,4',
'name' => 'required|alpha_space|max_len,30|min_len,5',
'email' => 'required|valid_email',
'password' => 'required|max_len,50|min_len,6',
));
$gump->filter_rules(array(
'username' => 'trim|sanitize_string',
'name' => 'trim|sanitize_string',
'password' => 'trim',
'email' => 'trim|sanitize_email',
));
$validated_data = $gump->run($_POST);

if($validated_data === false) {


?>
<center><font color="red" > <?php echo $gump->get_readable_errors(true); ?>
</font></center>
<?php
}
else if ($_POST['password'] !== $_POST['repassword'])
{
echo "<center><font color='red'>Passwords do not match </font></center>";
}
else {
$username = $validated_data['username'];
$checkusername = "SELECT * FROM users WHERE username = '$username'";
$run_check = mysqli_query($conn , $checkusername) or
die(mysqli_error($conn));
$countusername = mysqli_num_rows($run_check);
if ($countusername > 0 ) {
echo "<center><font color='red'>Username is already taken! try a
different one</font></center>";
}
$email = $validated_data['email'];
$checkemail = "SELECT * FROM users WHERE email = '$email'";
$run_check = mysqli_query($conn , $checkemail) or
die(mysqli_error($conn));
$countemail = mysqli_num_rows($run_check);
if ($countemail > 0 ) {
echo "<center><font color='red'>Email is already taken! try a different
one</font></center>";
}

else {
$name = $validated_data['name'];
$email = $validated_data['email'];
$pass = $validated_data['password'];
$password = password_hash("$pass" , PASSWORD_DEFAULT);
$role = $_POST['role'];
$course = $_POST['course'];
$gender = $_POST['gender'];
$joindate = date("F j, Y");
$query = "INSERT INTO
users(username,name,email,password,role,course,gender,joindate,token) VALUES
('$username' , '$name' , '$email', '$password' , '$role', '$course',
'$gender' , '$joindate' , '' )";
$result = mysqli_query($conn , $query) or die(mysqli_error($conn));
if (mysqli_affected_rows($conn) > 0) {
echo "<script>alert('SUCCESSFULLY REGISTERED');
window.location.href='login.php';</script>";
}
else {
echo "<script>alert('Error Occured');</script>";
}
}
}
}
?>
<br>

<div class="container">
<div class="form">
<form id="contactform" method="POST">
<p class="contact"><label for="name">Name</label></p>
<input id="name" name="name" placeholder="First and last name"
required="" tabindex="1" type="text" value="<?php if(isset($_POST['signup']))
{ echo $_POST['name']; } ?>">

<p class="contact"><label for="email">Email</label></p>


<input id="email" name="email" placeholder="[email protected]"
required="" type="email" value="<?php if(isset($_POST['signup'])) { echo
$_POST['email']; } ?>">

<p class="contact"><label for="username">Create a


username</label></p>
<input id="username" name="username" placeholder="username"
required="" tabindex="2" type="text" value="<?php if(isset($_POST['signup']))
{ echo $_POST['username']; } ?>">

<p class="contact"><label for="password">Create a


password</label></p>
<input type="password" id="password" name="password" required="">
<p class="contact"><label for="repassword">Confirm your
password</label></p>
<input type="password" id="repassword" name="repassword"
required="">

<p class="contact"><label for="gender">Gender </label></p>


<select class="select-style gender" name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select><br><br>

<p class="contact"><label for="role">I am a..</label></p>


<select class="select-style gender" name="role">
<option value="teacher">Teacher</option>
<option value="student">Student</option>
</select><br><br>

<p class="contact"><label for="course">I


teach/study..</label></p>
<select class="select-style gender" name="course">
<option value="Computer Science">Computer Sc Engineering</option>
<option value="Electrical">Electrical Engineering</option>
<option value="Mechanical">Mechanical Engineering</option>
</select><br><br>

<input class="buttom" name="signup" id="submit" tabindex="5"


value="Sign me up!" type="submit">
</form>
</div>
</div>

</body>
</html>

5.2.4 Verify Token

<?php include ('includes/connection.php'); ?>


<?php include 'includes/header.php';?>
<?php include 'includes/navbar.php';?>
<?php
if (!empty($_GET['token'])) {
$token = mysqli_real_escape_string($conn , $_GET['token']);
$query = "SELECT token FROM users WHERE token = '$token' ";
$run = mysqli_query($conn , $query) or die(mysqli_error($conn));
if (mysqli_num_rows($run) > 0) {
?>
<div class="login-card">
<h1>Change Password</h1><br>
<form action = "" method="POST">
<input type="password" name="password" placeholder="Enter New Password"
required="">
<input type="password" name="repassword" placeholder="Confirm New
Password" required="">
<input type="submit" name="change" class="login login-submit"
value="submit">
</form>
<script
src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></scri
pt>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-
ui.min.js'></script>
<?php
if (isset($_POST['change'])) {
$password = mysqli_real_escape_string($conn , $_POST['password']);
$repassword = mysqli_real_escape_string($conn ,
$_POST['repassword']);
if (strlen($password) < 6 ) {
echo "<center> <font color = 'red' > Password should be
atleast 6 characters long !</font><center> ";
}
else if ($password == $repassword) {
$newpassword = password_hash("$password" , PASSWORD_DEFAULT);
$query1 = "UPDATE users SET token = '' , password = '$newpassword'
WHERE token = '$token' ";
$run = mysqli_query($conn , $query1) or die(mysqli_error($conn));
if (mysqli_affected_rows($conn) > 0) {
echo "<center> <font color = 'green' > Password Changed
Successfully </font><center> " . " " . "<a href='login.php'>login</a>" ;
}
else {
echo "<center> <font color = 'red' > Error Occured
!</font><center> " ;
}
}
else {
echo "<center> <font color = 'red' > Passwords do not
match</font><center> " ;
}
}
}
else {
echo "something went wrong " . " <a href=recoverpassword.php> Try
again </a> ";
}
}
else {
header("location: index.php");
}
?>
CHAPTER 6
SNAPSHOTS
CHAPTER 6
SNAPSHOTS
6.1 Home Page

6.2 Login Page


6.3 Register page

6.4 Index Page


6.5 Upload Page

6.6 Profile Page


CHAPTER 7
CONCLUSION AND FUTURE WORK
CHAPTER 7

CONCLUSION AND FUTURE WORK

As an output we expect that every Student and the teacher can save their time and make a
hassle-free transfer of study material between each other. There is a lot of stuff on the
internet to be searched and downloaded but we provide a single interface for both students
and the teacher to make a specified category for the notes for the students to save their
time and make their time utilize in studying and not finding the appropriate notes and
other study material.

Future Work:

We Assure the improvements in the existing system by making it more secure and reliable
and much more useful.
In the future upgrades there might be the more specified categories and more secure and
classified interface.
REFERENCES
[1] Alan Forbes, The joy of php programming, 5th edition

[2] Tom Butler and Kevin Yank, Php and MySql, Novice to ninja, 6th edition

[3] Laura Thompson and Luke Welling, Php and MySql web development, 5th edition

Websites:

[1] https://www.phpmyadmin.net/
[2] https://www.apachefriends.org/download.html
[3] https://www.w3schools.com/html/
[4] https://www.w3schools.com/bootstrap/
[5] https://www.w3schools.com/jquery/
[6] https://www.w3schools.com/php/default.asp
[7] https://www.w3schools.com/js/default.asp

You might also like