Practical12&13
Practical12&13
<!DOCTYPE html>
<html>
<head>
<title>PHP Form Validation with Reload</title>
</head>
<body style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f5f5f5; margin: 0; padding: 20px; display: flex; justify-content:
center; min-height: 100vh;">
<?php
if (isset($_SESSION['success'])) {
echo "<div style='background-color: #d4edda; color: #155724; padding: 10px;
border-radius: 4px; margin-bottom: 20px; text-align: center;'>" .
$_SESSION['success'] . "</div>";
unset($_SESSION['success']);
}
?>
</div>
</body>
</html>
Validation.php
<?php
session_start(); // Start session for success message
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Name Validation
if (empty($_POST["name"])) {
$nameErr = "Name is required";
$valid = false;
} else {
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z-' ]*$/", $name)) {
$nameErr = "Only letters and white space allowed";
$valid = false;
}
}
// Email Validation
if (empty($_POST["email"])) {
$emailErr = "Email is required";
$valid = false;
} else {
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
$valid = false;
}
}
// Password Validation
if (empty($_POST["password"])) {
$passwordErr = "Password is required";
$valid = false;
} else {
$password = test_input($_POST["password"]);
if (strlen($password) > 8 && !preg_match("/[0-9]/", $password) &&
!preg_match("/[A-Z]/", $password) && !preg_match("/[\W]/", $password)) {
$passwordErr = "Password must be at least 8 characters long, include a
number, a capital letter, and a special character.";
$valid = false;
}
}
// Website Validation
if (!empty($_POST["website"])) {
$website = test_input($_POST["website"]);
if (!preg_match("/^(http:\/\/|https:\/\/)/", $website)) {
$website = "http://" . $website; // Add http:// if missing
}
if (!filter_var($website, FILTER_VALIDATE_URL)) {
$websiteErr = "Invalid URL";
$valid = false;
}
}
// Gender Validation
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
$valid = false;
} else {
$gender = test_input($_POST["gender"]);
}
// Aadhar ID Validation
if (empty($_POST["aadhar"])) {
$aadharErr = "Invalid Aadhaar Number";
$valid = false;
} else {
$aadhar = test_input($_POST["aadhar"]);
if (!preg_match("/^[2-9]{1}[0-9]{11}$/", $aadhar)) {
$aadharErr = "Invalid Aadhaar Number";
$valid = false;
}
}
if (!in_array($fileExt, $allowedTypes)) {
$profilePicErr = "Only JPG, JPEG, PNG, and GIF files are allowed";
$valid = false;
} elseif ($fileSize > 2 * 1024 * 1024) { // Limit 2MB
$profilePicErr = "File size must be less than 2MB";
$valid = false;
} else {
move_uploaded_file($fileTmpName, "uploads/" . $fileName);
$profilePic = "uploads/" . $fileName;
}
} else {
$profilePicErr = "Profile picture is required";
$valid = false;
}
<?php
session_start();
if (!isset($_SESSION["is_logged_in"]) && isset($_COOKIE["username"])) {
$_SESSION["username"] = $_COOKIE["username"];
$_SESSION["is_logged_in"] = true;
}
if (!isset($_SESSION["is_logged_in"])) {
header("Location: login.php");
exit();
}
Login.php
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
header("Location: index.php");
exit();
} else {
echo "Invalid login!";
}
}
?>
<form method="post">
<p> Username: <input type="text" name="username"><br><br></p>
<p> Password: <input type="password" name="password"><br><br></p>
<p> <input type="checkbox" name="remember"> Remember Me<br><br></p>
<p> <input type="submit" value="Login"><br></p>
</form>
Logout.php
<?php
session_start();
session_unset();
session_destroy();
header("Location: login.php");
exit();
?>
Output:
3. Demonstrate session management
Dashboard.php
<?php
session_start();
if (!isset($_SESSION["is_logged_in"])) {
header("Location: login.php");
exit();
}
Login.php
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
if ($username == "nova" && $password == "nova") {
$_SESSION["username"] = $username;
$_SESSION["is_logged_in"] = true;
header("Location: index.php");
exit();
} else {
echo "Invalid login credentials!";
}
}
?>
<form method="post">
<p> Username: <input type="text" name="username"><br><br></p>
<p> Password: <input type="password" name="password"><br><br></p>
<p> <input type="submit" value="Login"><br></p>
</form>
Logout.php
<?php
session_start();
session_unset();
session_destroy();
header("Location: login.php");
exit();
?>
Output:
Grade and Process Product Dated Sign
Dated Related Related
Signature (35) (15)
of Teacher