How to develop Projects(OJPS) Using PHP and Mysql
Part 10
6️⃣ Online Job Portal System
Module 2: Add Job Seeker Details
🧩 Purpose: Job seekers can register and manage their profiles for applying to jobs.
✅ Functionalities:
- ✅ Add job seeker details
- ✅ Edit job seeker details
- ✅ Delete job seeker accounts
- ✅ List all job seekers
🗂 Project Structure:
│── /job_seekers/
│ ├── add_job_seeker.php # Add job seeker
│ ├── edit_job_seeker.php # Edit job seeker details
│ ├── delete_job_seeker.php # Delete job seeker
│ ├── job_seeker_list.php # List all job seekers
🗃 Database Table for Job Seekers:
CREATE TABLE job_seekers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
phone VARCHAR(15),
gender VARCHAR(10),
dob DATE,
qualification VARCHAR(100),
experience VARCHAR(100),
skills TEXT,
resume VARCHAR(255), -- path to uploaded resume file
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
✅ job_seekers/add_job_seeker.php
<?php
include '../db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$gender = $_POST['gender'];
$dob = $_POST['dob'];
$qualification
= $_POST['qualification'];
$experience = $_POST['experience'];
$skills = $_POST['skills'];
// Resume
upload
$resume_path
= '';
if (isset($_FILES['resume'])
&& $_FILES['resume']['error'] == 0) {
$resume_name
= $_FILES['resume']['name'];
$resume_tmp
= $_FILES['resume']['tmp_name'];
$resume_path
= "../uploads/" . $resume_name;
move_uploaded_file($resume_tmp,
$resume_path);
}
$sql = "INSERT
INTO job_seekers (name, email, phone, gender, dob, qualification, experience,
skills, resume)
VALUES ('$name', '$email', '$phone', '$gender', '$dob', '$qualification',
'$experience', '$skills', '$resume_path')";
if (mysqli_query($conn,
$sql)) {
echo "Job
seeker added successfully!";
} else {
echo "Error:
" . mysqli_error($conn);
}
}
?>
✅ job_seekers/edit_job_seeker.php
<?php
include '../db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$gender = $_POST['gender'];
$dob = $_POST['dob'];
$qualification
= $_POST['qualification'];
$experience = $_POST['experience'];
$skills = $_POST['skills'];
// Optional
resume update
$resume_update
= "";
if (isset($_FILES['resume'])
&& $_FILES['resume']['error'] == 0) {
$resume_name
= $_FILES['resume']['name'];
$resume_tmp = $_FILES['resume']['tmp_name'];
$resume_path
= "../uploads/" . $resume_name;
move_uploaded_file($resume_tmp,
$resume_path);
$resume_update
= ", resume='$resume_path'";
}
$sql = "UPDATE
job_seekers
SET
name='$name', email='$email', phone='$phone', gender='$gender', dob='$dob',
qualification='$qualification', experience='$experience', skills='$skills'
$resume_update
WHERE id='$id'";
if (mysqli_query($conn,
$sql)) {
echo "Job
seeker updated successfully!";
} else {
echo "Error:
" . mysqli_error($conn);
}
}
?>
✅ job_seekers/delete_job_seeker.php
<?php
include '../db.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE
FROM job_seekers WHERE id='$id'";
if (mysqli_query($conn,
$sql)) {
echo "Job
seeker deleted successfully!";
} else {
echo "Error:
" . mysqli_error($conn);
}
}
?>
✅ job_seekers/job_seeker_list.php
<?php
include '../db.php';
$sql = "SELECT * FROM job_seekers ORDER BY
created_at DESC";
$result = mysqli_query($conn, $sql);
echo "<h3>Job Seekers List</h3>";
echo "<table border='1'>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Gender</th>
<th>DOB</th>
<th>Qualification</th>
<th>Experience</th>
<th>Skills</th>
<th>Resume</th>
</tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>
<td>{$row['id']}</td>
<td>{$row['name']}</td>
<td>{$row['email']}</td>
<td>{$row['phone']}</td>
<td>{$row['gender']}</td>
<td>{$row['dob']}</td>
<td>{$row['qualification']}</td>
<td>{$row['experience']}</td>
<td>{$row['skills']}</td>
<td><a href='{$row['resume']}'
target='_blank'>View</a></td>
</tr>";
}
echo "</table>";
?>