0% found this document useful (0 votes)
6 views41 pages

Web Technology Lab Manual for BSCS

The document is a lab manual for a Web Technology course (CSC-251) at Barani Institute of Sciences, detailing tasks and solutions for various web development projects. It includes tasks such as creating HTML pages, designing forms, and writing PHP scripts, with specific objectives outlined for each lab. The manual serves as a guide for students to complete their assignments throughout the Spring 2025 semester.

Uploaded by

fiza.ai.official
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views41 pages

Web Technology Lab Manual for BSCS

The document is a lab manual for a Web Technology course (CSC-251) at Barani Institute of Sciences, detailing tasks and solutions for various web development projects. It includes tasks such as creating HTML pages, designing forms, and writing PHP scripts, with specific objectives outlined for each lab. The manual serves as a guide for students to complete their assignments throughout the Spring 2025 semester.

Uploaded by

fiza.ai.official
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Web Technology CSC-251

Lab Manual

Student Name: Fiza Shoaib

Roll Number: 23-ARID-4563

Registration Number: 23-ARID-4563

Degree Program: Bachelor of Science in Computer Science

Semester: 4

Section: A

Lab Instructor Name: Prof. Samra Shehzadi

Barani Institute of Sciences, Burewala

Department of Computer Science

Spring 2025
Table of Contents / Home Task List
Lab No. Task Detail CLOs

Lab 01 Create an HTML page with ordered and unordered lists of your CLO-2
favorite websites and programming languages.

Lab 02 Design a webpage using internal, external, and email CLO-2


hyperlinks.

Lab 03 Create a time-table using HTML tables for your semester CLO-2
schedule.

Lab 04 Design a static home page for a university using frames or CLO-2
modern CSS layout.

Lab 05 Create a static registration form for an event with basic input CLO-2
fields.

Lab 06 Create a static login form with username and password input CLO-2
fields.

Lab 07 Add JavaScript validation to the login form to ensure fields are CLO-3
not empty.

Lab 08 Add JavaScript validation to a registration form for valid email CLO-3
and password rules.

Lab 09 Write a PHP script to display prime numbers between 1 and CLO-3
100.

Lab 10 Create a PHP form to input text and apply string functions: CLO-3
length, word count, reverse, search.

Lab 11 Write a PHP script to merge two arrays and sort them in CLO-3
descending order.
Lab 12 Write a PHP program to read from one file and write contents CLO-3
to another.

Lab 13 Design static pages for an online store: Home, Register/Login, CLO-2
Profile, Catalog, Cart, Payment, Order.

Lab 14 Apply JavaScript validation to registration, login, profile, and CLO-3


payment pages in your store project.

Lab 15 Write a servlet (or PHP alternative) to connect to a database, CLO-4


retrieve data, and display it.

Date: 05-03-25
Lab Task-1

Problem Statement
Create an HTML page with ordered and unordered lists of your favorite websites and
programming languages.

Solution:

<!DOCTYPE html>
<html>
<head>
<title>My Favorites</title>
</head>
<body>
<h2>Favorite Websites (Ordered List)</h2>
<ol>
<li>[Link]
<li>[Link]
<li>[Link]
</ol>

<h2>Favorite Programming Languages (Unordered List)</h2>


<ul>
<li>PHP</li>
<li>Python</li>
<li>JavaScript</li>
</ul>
</body>
</html>
Output

Date: 12-03-25
Lab Task-2

Problem Statement
Design a webpage using internal, external, and email hyperlinks.

Solution:

<!DOCTYPE html>
<html>
<head>
<title>Hyperlinks</title>
</head>
<body>
<h2>Internal Link</h2>
<a href="[Link]">About Us</a>

<h2>External Link</h2>
<a href="[Link] target="_blank">Google</a>

<h2>Email Link</h2>
<a href="[Link] Us</a>
</body>
</html>

Date: 19-03-25
Lab Task-3

Problem Statement
Create a time-table using HTML tables for your semester schedule.

Solution:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>BSCS-4A Timetable</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th, td {
border: 1px solid black;
padding: 10px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
.break {
background-color:blanchedalmond;
font-weight: bold;
}
</style>
</head>
<body>

<h2>BSCS-4A Timetable</h2>

<table>
<tr>
<th>Time/Day</th>
<th>9:00-10:00</th>
<th>10:00-11:00</th>
<th>11:15-12:15</th>
<th>12:15-01:15</th>
<th>01:15-02:15</th>
</tr>
<tr>
<td>Monday</td>
<td>(CSC-211) Computer Organization & Assembly Language
(09:00-11:00)<br><b>Lab-2</b></td>
<td class="break">Break</td>
<td class="break">Break</td>
<td>(MTH-103) Multivariable Calculus<br><b>Room# 16</b></td>
<td>(CSC-355) Cloud Computing(09:00-11:00)<br><b>Lab-
1</b></td>
</tr>
<tr>
<td>Tuesday</td>
<td class="break">Break</td>
<td>(ENG-102) Expository Writing<br><b>Room# 22</b></td>
<td>(ENG-102) Expository Writing<br><b>Room# 22</b></td>
<td>(PHY-201) Applied Physics<br><b>Room# 17</b></td>
<td class="break">Break</td>
</tr>
<tr>
<td>Wednesday</td>
<td>(CSC-355) Cloud Computing <br><b>Room#18</b></td>
<td>(CSC-355) Cloud Computing<br><b>Room# 18</b></td>
<td>(CSC-211) Computer Organization & Assembly
Language<br><b>Room# 18</b></td>
<td>(CSC-251) Web Technologies<br><b>Room# 18</b></td>
<td>(CSC-211) Computer Organization & Assembly
Language<br><b>Room# 12</b></td>
</tr>
<tr>
<td>Thursday</td>
<td>(CSC-251) Web Technologies (12:15-2:15)<br><b>Lab
2</b></td>
<td>(IS-201) Islamic Studies<br><b>Room# 18</b></td>
<td>(CSC-251) Web Technologies<br><b>Room# 18</b></td>
<td class="break">Break</td>
<td>(IS-201) Islamic Studies<br><b>Room# 18</b></td>
</tr>
<tr>
<td>Friday</td>
<td class="break">Break</td>
<td>(PHY-201) Applied Physics<br><b>Room# 18</b></td>
<td>(PHY-201) Applied Physics<br><b>Room# 18</b></td>
<td>(PHY-201) Applied Physics<br><b>Lab-2</b></td>
<td class="break">Break</td>
</tr>
</table>

</body>
</html>

Output:
Date: 26-03-25

Lab Task-4

Problem Statement
Design a static home page for a university using frames or modern CSS layout.

Solution:

<!DOCTYPE html>
<html>
<head>
<title>University Home</title>
<style>
body { font-family: Arial; }
header, footer { background: green; color: white; padding: 10px;
text-align: center; }
nav { background: #ddd; padding: 10px; }
section { padding: 10px; }
</style>
</head>
<body>
<header><h1>Arid University</h1></header>
<nav>
<a href="#">Home</a> |
<a href="#">Departments</a> |
<a href="#">Contact</a>
</nav>
<section>
<h2>Welcome to Arid University</h2>
<p>We offer various programs in technology and sciences.</p>
<br> <br> <br> <br> <br> <br> <br> <br>
</section>
<footer>&copy; 2025 ABC University</footer>
</body>
</html>
Date: 02-04-25

Lab Task-5

Problem Statement
Create a static registration form for an event with basic input fields

Solution:

<!DOCTYPE html>
<html>
<head>
<title>Event Registration</title>
</head>
<body>
<h2>Register for the Event</h2>
<form>
Name: <input type="text" name="name"><br><br>
Email: <input type="email" name="email"><br><br>
Gender:
<input type="radio" name="gender"> Male
<input type="radio" name="gender"> Female <br><br>
<input type="submit" value="Register">
</form>
</body>
</html>
Date: 09-04-25

Lab Task-6

Problem Statement
Create a static login form with username and password input fields.

Solution:

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Login</h2>
<form>
Username: <input type="text" name="username"><br><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Date: 16-04-25

Lab Task-7

Problem Statement
Add JavaScript validation to the login form to ensure fields are not empty.

Solution:

<!DOCTYPE html>
<html>
<head>
<script>
function validateLogin() {
let user = [Link]["loginForm"]["username"].value;
let pass = [Link]["loginForm"]["password"].value;
if (user === "" || pass === "") {
alert("Both fields are required.");
return false;
}
}
</script>
</head>
<body>
<h2>Login Form</h2>
<form name="loginForm" onsubmit="return validateLogin()">
Username: <input type="text" name="username"><br><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Date: 30-04-25

Lab Task-8

Problem Statement
Add JavaScript validation to a registration form for valid email and password rules.

Solution:

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
let email = [Link]["regForm"]["email"].value;
let password = [Link]["regForm"]["password"].value;
if (![Link]("@")) {
alert("Invalid email format.");
return false;
}
if ([Link] < 6) {
alert("Password must be at least 6 characters.");
return false;
}
}
</script>
</head>
<body>
<h2>Registration Form</h2>
<form name="regForm" onsubmit="return validateForm()">
Email: <input type="email" name="email"><br><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" value="Register">
</form>
</body>
</html>
Date: 07-05-25

Lab Task-9

Problem Statement
Write a PHP script to display prime numbers between 1 and 100.

Solution:

<?php
echo "Prime Numbers between 1 and 100:<br>";
for ($num = 2; $num <= 100; $num++) {
$prime = true;
for ($i = 2; $i <= sqrt($num); $i++) {
if ($num % $i == 0) {
$prime = false;
break;
}
}
if ($prime) echo $num . " ";
}
?>
Date: 14-05-25

Lab Task-10

Problem Statement
Create a PHP form to input text and apply string functions: length, word count, reverse, search.

Solution:

<form method="post">
Enter text: <input type="text" name="text"><br>
<input type="submit" name="submit" value="Process">
</form>
<?php
if (isset($_POST['submit'])) {
$text = $_POST['text'];
echo "Length: " . strlen($text) . "<br>";
echo "Word Count: " . str_word_count($text) . "<br>";
echo "Reverse: " . strrev($text) . "<br>";
echo "Search 'PHP': ";
echo strpos($text, 'PHP') !== false ? 'Found' : 'Not Found';
}
?>
Date: 21-05-25

Lab Task-11

Problem Statement
Write a PHP script to merge two arrays and sort them in descending order.

Solution:

<?php
$arr1 = array(4, 2, 8);
$arr2 = array(3, 9, 1);
$merged = array_merge($arr1, $arr2);
rsort($merged);
echo "Sorted Merged Array: <br>";
foreach ($merged as $value) {
echo $value . " ";
}
?>
Date: 04-06-25

Lab Task-12

Problem Statement
Write a PHP program to read from one file and write contents to another.

Solution:

<?php
$inputFile = '[Link]';
$outputFile = '[Link]';

// Step 1: Create [Link] and write sample content


file_put_contents($inputFile, "This is a sample content written to
input file.");

// Step 2: Read content from [Link]


$content = file_get_contents($inputFile);

// Step 3: Write content to [Link]


file_put_contents($outputFile, $content);

// Step 4: Display output on browser


echo "<strong>Data copied from [Link] to [Link]:</strong><br>";
echo nl2br($content);

// Optional: Show confirmation and file names


echo "<br><br><em>[Link] and [Link] created in the same
directory as this PHP file.</em>";
?>
Date: 11-06-25
Lab Task-13

Problem Statement
Design static pages for an online store: Home, Register/Login, Profile, Catalog, Cart, Payment,
Order.

Solution:
Home:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<img src="[Link]" alt="Store Banner" class="hero-img">

<div class="container my-5">


<h2 class="text-center">Welcome to Our Online Store</h2>
<p class="text-center">Shop the best products curated for you.</p>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>
Register:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Register</h2>
<form class="row g-3">
<div class="col-md-6">
<label class="form-label">Name</label>
<input type="text" class="form-control" required>
</div>
<div class="col-md-6">
<label class="form-label">Email</label>
<input type="email" class="form-control" required>
</div>
<div class="col-12">
<label class="form-label">Password</label>
<input type="password" class="form-control" required>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Register</button>
</div>
</form>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>
Login:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Login</h2>
<form class="row g-3">
<div class="col-md-6">
<label class="form-label">Username</label>
<input type="text" class="form-control" required>
</div>
<div class="col-md-6">
<label class="form-label">Password</label>
<input type="password" class="form-control" required>
</div>
<div class="col-12">
<button type="submit" class="btn btn-secondary">Login</button>
</div>
</form>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>

Catalog:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Product Catalog</h2>
<div class="row">
<div class="col-md-4">
<div class="card mb-3">
<img src="[Link]" class="card-img-top" alt="Blue Hoodie">
<div class="card-body">
<h5 class="card-title">Blue Hoodie</h5>
<p class="card-text">PKR 1200</p>
<button class="btn btn-success">Add to Cart</button>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-3">
<img src="[Link]" class="card-img-top" alt="Notebook Pack">
<div class="card-body">
<h5 class="card-title">Notebook Pack</h5>
<p class="card-text">PKR 350</p>
<button class="btn btn-success">Add to Cart</button>
</div>
</div>
</div>
</div>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>

Cart:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Your Cart</h2>
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-
items-center">
Blue Hoodie
<span>PKR 1200 <button class="btn btn-danger btn-
sm">Remove</button></span>
</li>
</ul>
<p class="mt-3"><strong>Total:</strong> PKR 1200</p>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>

Payment:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Payment</h2>
<form class="row g-3">
<div class="col-md-4">
<label class="form-label">Card Number</label>
<input type="text" class="form-control" required>
</div>
<div class="col-md-4">
<label class="form-label">Expiry</label>
<input type="text" class="form-control" placeholder="MM/YY"
required>
</div>
<div class="col-md-4">
<label class="form-label">CVV</label>
<input type="text" class="form-control" required>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Pay Now</button>
</div>
</form>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>

Order:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SnapPink Online Store</title>
<link
href="[Link]
.css" rel="stylesheet">
<style>
.hero-img {
width: 100%;
height: 300px;
object-fit: cover;
}
</style>
</head>
<body>
<header class="bg-dark text-white p-3 text-center">
<h1>SnapPink Online Store</h1>
</header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="[Link]">Home</a>
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link"
href="[Link]">Register</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Login</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Profile</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Catalog</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Cart</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Payment</a></li>
<li class="nav-item"><a class="nav-link"
href="[Link]">Order</a></li>
</ul>
</div>
</nav>
<div class="container my-5">
<h2>Order Summary</h2>
<div class="alert alert-success">
<strong>Thank you!</strong> Your order has been placed successfully.
</div>
</div>
<footer class="bg-dark text-white text-center p-3 mt-5">
<p>&copy; 2025 SnapPink Store. All rights reserved.</p>
</footer>
</body>
</html>
Date: 18-06-25

Lab Task-14

Problem Statement
Apply JavaScript validation to registration, login, profile, and payment pages in your store
project.

Solution:
This is called in each file <script src="[Link]"></script>

[Link]:

<script>
function validateRegister() {
const name = [Link]('regName').value;
const email = [Link]('regEmail').value;
const password = [Link]('regPassword').value;
if (!name || !email || !password) {
alert("All registration fields are required."); return false;
}
if (![Link]('@')) {
alert("Enter a valid email."); return false;
}
if ([Link] < 6) {
alert("Password must be at least 6 characters."); return false;
}
return true;
}

function validateLogin() {
const username = [Link]('loginUsername').value;
const password = [Link]('loginPassword').value;
if (!username || !password) {
alert("Username and Password are required."); return false;
}
return true;
}

function validateProfile() {
const fullname = [Link]('profileFullname').value;
const phone = [Link]('profilePhone').value;
if (!fullname || !phone) {
alert("Name and Phone are required."); return false;
}
if (!/^[0-9]{11}$/.test(phone)) {
alert("Phone must be 11 digits."); return false;
}
return true;
}

function validatePayment() {
const card = [Link]('cardNumber').value;
const expiry = [Link]('expiry').value;
const cvv = [Link]('cvv').value;
if (!card || !expiry || !cvv) {
alert("All payment fields are required."); return false;
}
if ([Link] !== 16 || isNaN(card)) {
alert("Card number must be 16 digits."); return false;
}
return true;
}
</script>
Date: 26-06-25

Lab Task-15
Problem Statement
Write a servlet (or PHP alternative) to connect to a database, retrieve data, and display it.

Solution:
[Link]

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "store";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>

PhpMyAdmin (Database: store)


view_users.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>View Registered Users</title>
<link
href="[Link]
.css" rel="stylesheet">
</head>
<body>
<div class="container my-5">
<h2 class="text-center">Registered Users</h2>
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<?php
include 'db_connect.php';

$sql = "SELECT id, name, email FROM users";


$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"] . "</td><td>" . $row["name"] .
"</td><td>" . $row["email"] . "</td></tr>";
}
} else {
echo "<tr><td colspan='3' class='text-center'>No users
found</td></tr>";
}
$conn->close();
?>
</tbody>
</table>
</div>
</body>
</html>

You might also like