PHP Interview Notes It
PHP Interview Notes It
INTERVIEW================================
2. Operators
Arithmetic Operators
Assignment Operators
Comparison Operators (==, ===, !=, <=>)
Logical Operators (&&, ||, !)
String Operators (. concatenation)
Increment & Decrement Operators
Ternary Operator
Null Coalescing Operator (??)
3. Control Structures
if, else, elseif
switch statement
while, do...while loops
for loop
foreach loop
break & continue
Nested loops
4. Functions
Defining & Calling Functions
Function Arguments (default, by reference, type hinting)
Return Values
Variable Scope (local, global, static)
Anonymous Functions & Closures
Arrow Functions (fn() =>)
Built-in PHP Functions (strlen, explode, implode, etc.)
5. Arrays
Indexed Arrays
Associative Arrays
Multidimensional Arrays
Array Functions (array_merge, array_diff, array_push, array_pop, array_filter,
array_map, array_reduce, sort, asort, ksort, etc.)
Iterating Arrays (foreach, for)
6. Strings
String Functions (strlen, strtolower, strtoupper, substr, strpos, str_replace,
trim, ltrim, rtrim, etc.)
String Interpolation
Heredoc & Nowdoc Syntax
7. Superglobals
$_GET
$_POST
$_REQUEST
$_SERVER
$_FILES
$_SESSION
$_COOKIE
$_ENV
$GLOBALS
IMPORTANTS :------100%
6. Advanced / Important
JSON encode/decode ka example.
API call karna PHP se (cURL example).
AJAX se PHP ko data bhejna aur JSON response lena.
PHP me encryption/decryption ka example (md5, password_hash).
Error handling ka example (try-catch).
Date difference ka program (in days, months, years).
Regular expression ka example (email validation, phone validation).
Custom exception handling ka program.
CSRF token generate & validate ka example.
PHP 8 ka match statement ka example.
📌 Folder Structure
pgsql
Copy
Edit
ajax-crud/
├── index.php (HTML + JS + AJAX code)
├── action.php (PHP backend for CRUD)
├── db.php (Database connection)
└── database.sql (Table SQL)
1 ⃣ Database File – database.sql
sql
<?php
$host = "localhost";
$user = "root"; // apne system ka username
$pass = ""; // apne system ka password
$db = "ajax_crud_demo";
if ($conn->connect_error) {
die("Database Connection Failed: " . $conn->connect_error);
}
?>
<?php
include 'db.php';
// Add Record
if (isset($_POST['action']) && $_POST['action'] == "add") {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$conn->query($sql);
echo "Record Added Successfully!";
}
// Fetch Records
if (isset($_POST['action']) && $_POST['action'] == "fetch") {
$result = $conn->query("SELECT * FROM users ORDER BY id DESC");
$data = "";
while ($row = $result->fetch_assoc()) {
$data .= "<tr>
<td>{$row['id']}</td>
<td>{$row['name']}</td>
<td>{$row['email']}</td>
<td>
<button class='editBtn' data-id='{$row['id']}'
data-name='{$row['name']}' data-email='{$row['email']}'>Edit</button>
<button class='deleteBtn' data-id='{$row['id']}'>Delete</button>
</td>
</tr>";
}
echo $data;
}
// Update Record
if (isset($_POST['action']) && $_POST['action'] == "update") {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
$conn->query($sql);
echo "Record Updated Successfully!";
}
// Delete Record
if (isset($_POST['action']) && $_POST['action'] == "delete") {
$id = $_POST['id'];
$conn->query("DELETE FROM users WHERE id=$id");
echo "Record Deleted Successfully!";
}
?>
4 ⃣ Frontend File – index.php
php
<form id="userForm">
<input type="hidden" name="id" id="user_id">
<input type="text" name="name" id="name" placeholder="Enter Name" required>
<input type="email" name="email" id="email" placeholder="Enter Email"
required>
<button type="submit">Save</button>
</form>
<hr>
<script>
$(document).ready(function(){
// Fetch Data
function fetchData(){
$.post('action.php', {action: "fetch"}, function(data){
$("#userTable").html(data);
});
}
fetchData();
// Add / Update Data
$("#userForm").on("submit", function(e){
e.preventDefault();
let formData = $(this).serialize();
let actionType = $("#user_id").val() ? "update" : "add";
$.post('action.php', formData + "&action=" + actionType,
function(response){
alert(response);
$("#userForm")[0].reset();
$("#user_id").val("");
fetchData();
});
});
// Edit Data
$(document).on("click", ".editBtn", function(){
let id = $(this).data("id");
let name = $(this).data("name");
let email = $(this).data("email");
$("#user_id").val(id);
$("#name").val(name);
$("#email").val(email);
});
// Delete Data
$(document).on("click", ".deleteBtn", function(){
if(confirm("Are you sure?")){
let id = $(this).data("id");
$.post('action.php', {id: id, action: "delete"}, function(response){
alert(response);
fetchData();
});
}
});
});
</script>
</body>
</html>
🛠 How It Works
Add – Form submit hota hai AJAX ke through → action.php insert karta hai →
success message.
Fetch – Page load hone par AJAX fetch request bhejta hai → table fill hota hai.
Edit – Edit button par click → form me data fill → submit par update hota hai.
Delete – Delete button click → confirm → AJAX request → row delete.
php
Copy
Edit
<?php
echo "Hello PHP!";
?>
php
Copy
Edit
echo "Hello ", "World"; // multiple
print "Hello World"; // single
php
Copy
Edit
$globalVar = "Global";
function test(){
$localVar = "Local";
static $count = 0;
$count++;
echo $count;
}
php
Copy
Edit
var_dump(5 == "5"); // true
var_dump(5 === "5"); // false
php
Copy
Edit
$var = "";
var_dump(isset($var)); // true
var_dump(empty($var)); // true
var_dump(is_null($var)); // false
php
Copy
Edit
$num = "10";
$intVal = (int)$num; // integer
$floatVal = (float)$num; // float
php
Copy
Edit
// GET
echo $_GET['name'];
// POST
echo $_POST['name'];
8. Session aur Cookie me difference?
Session Cookie
Server me store hota hai Client (browser) me store hota hai
Secure Less secure
Temporary Persistent (expiry date)
php
Copy
Edit
// Session
session_start();
$_SESSION['user'] = "Sonu";
// Cookie
setcookie("user", "Sonu", time()+3600);
php
Copy
Edit
include "file.php";
require "file.php";
include_once "file.php";
require_once "file.php";
php
Copy
Edit
echo $_SERVER['HTTP_HOST'];
echo $_GET['id'];
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1. Arithmetic Operators
👉 Maths wale basic operations.
💡 Tip: Modulus ka use mostly remainder check ke liye hota hai (e.g. even/odd
check).
2. Assignment Operators
👉 Variable me value store karne ke liye.
php
Copy
Edit
$x = 10; // simple assignment
$x += 5; // x = x + 5 → 15
$x -= 2; // x = x - 2 → 13
$x *= 2; // x = x * 2 → 26
$x /= 2; // x = x / 2 → 13
$x %= 3; // x = x % 3 → 1
3. Comparison Operators
👉 Do values compare karne ke liye (true/false return).
4. Logical Operators
👉 Multiple conditions check karne ke liye.
5. String Operators
👉 String join karne ke liye.
Example:
php
$x = 5;
echo ++$x; // 6
echo $x++; // 6 (ab x = 7)
7. Ternary Operator
👉 Short if-else.
php
$age = 18;
$msg = ($age >= 18) ? "Adult" : "Minor";
echo $msg; // Adult
php
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Syntax:
php
Copy
Edit
if (condition) {
// agar condition true hai
} elseif (dusri_condition) {
// agar dusri condition true hai
} else {
// agar koi condition true nahi hai
}
Example:
php
Copy
Edit
$marks = 75;
2. switch statement
Purpose: Multiple fixed values check करने के िलए।
Syntax:
php
Copy
Edit
switch (variable) {
case value1:
// code
break;
case value2:
// code
break;
default:
// code
}
Example:
php
Copy
Edit
$day = "Tuesday";
switch ($day) {
case "Monday":
echo "Office ka kaam zyada hoga";
break;
case "Tuesday":
echo "Meeting day";
break;
default:
echo "Weekend vibes";
}
Interview Tip:
जब एक variable ko कई fixed values ke saath compare करना हो, तब switch ादा readable
होता है ।
3. while loop
Purpose: Jab tak condition true hai, tab tak loop chalayega।
Example:
php
Copy
Edit
$count = 1;
while ($count <= 5) {
echo "Number: $count<br>";
$count++;
}
Interview Tip:
Agar condition false hua toh ek baar bhi loop nahi chalega।
4. do...while loop
Purpose: Condition check loop ke baad hoti है , matlab ek baar code hamesha
chalega।
Example:
php
Copy
Edit
$count = 6;
do {
echo "Number: $count<br>";
$count++;
} while ($count <= 5);
Interview Tip:
5. for loop
Purpose: Jab starting point, ending point, aur increment pata ho।
Example:
php
Copy
Edit
for ($i = 1; $i <= 5; $i++) {
echo "Number: $i<br>";
}
Interview Tip:
6. foreach loop
Purpose: Arrays iterate करने के िलए।
Example:
php
Copy
Edit
$fruits = ["Apple", "Banana", "Mango"];
php
Copy
Edit
$marks = ["Math" => 90, "English" => 85];
Example:
php
Copy
Edit
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) {
continue; // 3 ko skip karega
}
if ($i == 5) {
break; // 5 pe loop ruk jayega
}
echo "Number: $i<br>";
}
8. Nested Loops
Purpose: Ek loop ke andar doosra loop।
Example:
php
Copy
Edit
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 2; $j++) {
echo "i = $i, j = $j<br>";
}
}
Interview Tip:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
php
Copy
Edit
<?php
function greet() {
echo "Hello, World!";
}
2. Function Arguments
Q2: PHP me function me arguments kaise pass karte hain?
Answer: Function parameters le sakta hai jo values receive karte hain.
php
Copy
Edit
<?php
function greetUser($name) {
echo "Hello, $name!";
}
php
Copy
Edit
<?php
function greetUser($name = "Guest") {
echo "Hello, $name!";
}
php
<?php
function addFive(&$num) {
$num += 5;
}
$value = 10;
addFive($value);
echo $value; // Output: 15
?>
php
<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
3. Return Values
php
Copy
Edit
<?php
function sum($a, $b) {
return $a + $b;
}
4. Variable Scope
Q7: Variable scope kitne types ka hota hai?
Answer:
function testScope() {
// Local variable
$localVar = "Local";
echo $localVar; // OK
// echo $globalVar; // Error
}
testScope();
// Static variable
function counter() {
static $count = 0;
$count++;
echo $count . "<br>";
}
counter(); // 1
counter(); // 2
?>
php
Copy
Edit
<?php
$sayHello = function($name) {
echo "Hello, $name!";
};
php
Copy
Edit
<?php
$name = "Sonu";
$greet = function() use ($name) {
echo "Hello, $name!";
};
$greet(); // Output: Hello, Sonu!
?>
6. Arrow Functions
Q9: Arrow function kya hota hai?
Answer: Short syntax for anonymous functions (PHP 7.4+).
php
Copy
Edit
<?php
$add = fn($a, $b) => $a + $b;
echo $add(5, 10); // Output: 15
?>
php
Copy
Edit
<?php
$str = "Hello World";
echo strlen($str); // 11 (string length)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5. Arrays in PHP
Array ek aisi data structure hai jo ek hi variable me multiple values store
karta hai.
1. Indexed Arrays
Keys 0, 1, 2… automatic hote hain (numerical index).
Example:
php
Copy
Edit
$fruits = ["Apple", "Banana", "Orange"];
// Loop through
foreach($fruits as $fruit){
echo $fruit . " ";
}
💡 Interview Question: Indexed array me index automatic assign hota hai ya
manual?
✅ Answer: Dono ho sakta hai, by default automatic assign hota hai.
2. Associative Arrays
Keys string hote hain, numbers nahi.
Example:
php
Copy
Edit
$student = [
"name" => "Rahul",
"age" => 21,
"course" => "BCA"
];
3. Multidimensional Arrays
Array ke andar array.
Example:
php
Copy
Edit
$students = [
["name" => "Rahul", "age" => 21],
["name" => "Sonu", "age" => 22],
];
foreach($students as $student){
echo $student["name"] . " - " . $student["age"] . "\n";
}
💡 Interview Question: Multidimensional array ka real-life example?
✅ Example: Database result ko array me store karna.
(i) asort() – Values ko sort karta hai but keys preserve hoti hain.
php
Copy
Edit
$arr = ["a" => 3, "b" => 1];
asort($arr);
print_r($arr); // ["b"=>1, "a"=>3]
5. Iterating Arrays
(a) foreach – Sabse easy method.
php
Copy
Edit
$arr = ["Apple", "Banana"];
foreach($arr as $item){
echo $item . "\n";
}
(b) for – Index ke sath.
php
Copy
Edit
$arr = ["Apple", "Banana"];
for($i = 0; $i < count($arr); $i++){
echo $arr[$i] . "\n";
}
💡 Interview Tip: foreach preferred hota hai readability ke liye, lekin agar
index chahiye to for loop.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6. Strings in PHP
1 ⃣ String Functions
Yeh functions strings ko manipulate (change, check, modify) karne ke kaam aate
hain.
(h) ltrim() & rtrim() – Left ya right se spaces remove karta hai
php
Copy
Edit
<?php
$str = " Hello ";
echo ltrim($str); // Output: "Hello "
echo rtrim($str); // Output: " Hello"
2 ⃣ String Interpolation
📌 Definition: Jab aap string ke andar variable directly likh kar uska value
insert karte ho.
php
Copy
Edit
<?php
$name = "Sonu";
echo "Hello $name"; // Output: Hello Sonu
🔹 Double Quotes → Variable interpolate (value insert hoti hai)
🔹 Single Quotes → Variable interpolate nahi hota
php
Copy
Edit
<?php
echo 'Hello $name'; // Output: Hello $name
3 ⃣ Heredoc Syntax
📌 Multi-line string likhne ka tarika (variables interpolate hote hain)
php
Copy
Edit
<?php
$name = "Sonu";
$text = <<<EOT
Hello $name,
Welcome to PHP World.
EOT;
echo $text;
4 ⃣ Nowdoc Syntax
📌 Multi-line string likhne ka tarika (variables interpolate nahi hote)
php
Copy
Edit
<?php
$name = "Sonu";
$text = <<<'EOT'
Hello $name,
Welcome to PHP World.
EOT;
echo $text;
Interview ke Common Questions
Difference between strlen() and mb_strlen()?
→ strlen() normal characters count karta hai, mb_strlen() multi-byte (UTF-8)
characters ke liye use hota hai.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1. $_GET
Definition:
URL ke query string (GET method) se data receive karne ke liye use hota hai.
Data URL me visible hota hai.
Syntax:
php
Copy
Edit
$_GET['variable_name']
Example:
php
Copy
Edit
// URL: http://example.com/page.php?name=Sonu&age=25
echo $_GET['name']; // Output: Sonu
echo $_GET['age']; // Output: 25
2. $_POST
Definition:
Form data ko POST method se receive karne ke liye.
Data URL me visible nahi hota.
Syntax:
php
Copy
Edit
$_POST['variable_name']
Example:
php
Copy
Edit
<form method="post">
Name: <input type="text" name="name">
<button type="submit">Submit</button>
</form>
<?php
echo $_POST['name'];
?>
3. $_REQUEST
Definition:
Syntax:
php
Copy
Edit
$_REQUEST['variable_name']
Example:
php
Copy
Edit
// Chahe GET se aaya ho ya POST se, dono me kaam karega
echo $_REQUEST['name'];
4. $_SERVER
Definition:
Server aur current request ka information deta hai.
Common Values:
php
Copy
Edit
$_SERVER['PHP_SELF'] // Current file ka name
$_SERVER['SERVER_NAME'] // Server ka naam
$_SERVER['HTTP_HOST'] // Host name
$_SERVER['REQUEST_METHOD'] // GET ya POST
$_SERVER['SCRIPT_FILENAME'] // Script ka path
Example:
php
Copy
Edit
echo $_SERVER['PHP_SELF']; // /page.php
echo $_SERVER['SERVER_NAME']; // localhost
echo $_SERVER['REQUEST_METHOD']; // GET
5. $_FILES
Definition:
File uploads ke liye data store karta hai.
Syntax:
php
Copy
Edit
$_FILES['file_name']['name'] // Original file name
$_FILES['file_name']['tmp_name'] // Temporary path
$_FILES['file_name']['size'] // File size
$_FILES['file_name']['type'] // File type
Example:
php
Copy
Edit
<form method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<button type="submit">Upload</button>
</form>
<?php
echo $_FILES['photo']['name'];
?>
6. $_SESSION
Definition:
User ke liye temporary data store karta hai jab tak browser close na ho.
Start karne ke liye session_start() lagana padta hai.
Syntax:
php
Copy
Edit
$_SESSION['key'] = value;
Example:
php
Copy
Edit
session_start();
$_SESSION['username'] = "Sonu";
echo $_SESSION['username'];
7. $_COOKIE
Definition:
Client side pe data store karta hai fixed time ke liye.
Syntax:
php
Copy
Edit
setcookie(name, value, expire_time);
Example:
php
Copy
Edit
setcookie("user", "Sonu", time() + 3600); // 1 hour
echo $_COOKIE['user'];
8. $_ENV
Definition:
Environment variables store karta hai.
Mostly server configuration ke liye use hota hai.
Example:
php
Copy
Edit
echo $_ENV['PATH'];
9. $GLOBALS
Definition:
Global scope ke variables ko anywhere access karne ke liye.
Syntax:
php
Copy
Edit
$GLOBALS['variable_name']
Example:
php
Copy
Edit
$a = 10;
$b = 20;
function sum(){
$GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
}
sum();
echo $c; // Output: 30
अगर तू चाहे तो म इन सभी superglobals के िलए एक short interview cheat sheet PDF बना सकता ँ , जो
तू सीधे पढ़के revise कर सके और interview म confidently answer दे पाए।
ा म बना दू ँ ?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
php
Copy
Edit
<!-- HTML Form -->
<form action="process.php" method="post">
Name: <input type="text" name="username">
<input type="submit" value="Submit">
</form>
📌 PHP म Data Receive करना:
php
Copy
Edit
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['username']; // form field ka name
echo "Hello, $name!";
}
?>
💡 Hinglish:
2. method="GET" vs method="POST"
Feature GET POST
Data URL me show hota ✅ Yes ❌ No
Data size limit ~2000 chars No big limit
Security ❌ Less secure ✅ More secure
Use case Search, filter Login, signup, payment forms
📌 Example (GET):
php
Copy
Edit
<form method="get">
Search: <input type="text" name="query">
<input type="submit">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
echo $_GET['query'];
}
?>
📌 Example (POST):
php
Copy
Edit
<form method="post">
Name: <input type="text" name="username">
<input type="submit">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo $_POST['username'];
}
?>
📌 Example:
php
Copy
Edit
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["username"])) {
echo "Name is required!";
} elseif (!preg_match("/^[a-zA-Z ]*$/", $_POST["username"])) {
echo "Only letters and spaces allowed!";
} else {
echo "Valid Name: " . $_POST["username"];
}
}
?>
4. Sanitizing Data
(Unsafe data ko clean karna – XSS/SQL Injection se bachne ke liye)
📌 Example:
php
Copy
Edit
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST['username']); // HTML tags remove
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); // email
sanitize
echo "Safe Name: $name <br>";
echo "Safe Email: $email";
}
?>
php
Copy
Edit
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file: <input type="file" name="myfile">
<input type="submit" value="Upload">
</form>
📌 PHP Upload Script:
php
Copy
Edit
<?php
if (isset($_FILES['myfile'])) {
$fileName = $_FILES['myfile']['name'];
$fileTmp = $_FILES['myfile']['tmp_name'];
$destination = "uploads/" . $fileName;
if (move_uploaded_file($fileTmp, $destination)) {
echo "File uploaded successfully!";
} else {
echo "Upload failed!";
}
}
?>
💡 Hinglish Notes:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Answer:
PHP me connect karne ke 2 main tarike hai:
mysqli (MySQL Improved Extension)
PDO (PHP Data Objects – multiple DB support karta hai)
Example (mysqli)
php
Copy
Edit
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
// mysqli connect
$conn = mysqli_connect($host, $user, $pass, $db);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully!";
?>
Example (PDO)
php
Copy
Edit
<?php
try {
$conn = new PDO("mysql:host=localhost;dbname=test", "root", "");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully!";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
// Select
$result = mysqli_query($conn, "SELECT * FROM users");
// Update
mysqli_query($conn, "UPDATE users SET name='Amit' WHERE id=1");
// Delete
mysqli_query($conn, "DELETE FROM users WHERE id=1");
Example – PDO
php
Copy
Edit
$conn->exec("INSERT INTO users (name, email) VALUES ('Sonu',
'[email protected]')");
php
Copy
Edit
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$name = "Sonu";
$email = "[email protected]";
$stmt->execute();
Example – PDO Prepared Statement
php
Copy
Edit
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name,
:email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$name = "Sonu";
$email = "[email protected]";
$stmt->execute();
php
Copy
Edit
$result = mysqli_query($conn, "SELECT * FROM users");
while($row = mysqli_fetch_assoc($result)) {
echo $row['name'] . " - " . $row['email'] . "<br>";
}
Example – PDO::fetch
php
Copy
Edit
$stmt = $conn->query("SELECT * FROM users");
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['name'] . " - " . $row['email'] . "<br>";
}
6. Closing Connections
mysqli
php
Copy
Edit
mysqli_close($conn);
PDO
php
Copy
Edit
$conn = null; // automatically close
✅ Interview Ready Questions
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
a) Starting a Session
Session start karne ke liye:
php
Copy
Edit
<?php
session_start(); // Always at the top before HTML
?>
2. Cookies in PHP
Cookie ek small data hota hai jo client’s browser me store hota hai.
a) Creating a Cookie
php
Copy
Edit
<?php
setcookie("username", "Sonu Pandey", time() + (86400 * 7), "/");
// 86400 = 1 day, yaha 7 days ka cookie ban raha hai
b) Reading a Cookie
php
Copy
Edit
<?php
if(isset($_COOKIE['username'])) {
echo "Welcome, " . $_COOKIE['username'];
} else {
echo "Cookie not found!";
}
?>
c) Deleting a Cookie
php
Copy
Edit
<?php
setcookie("username", "", time() - 3600, "/");
// Past time dene se cookie delete ho jata hai
echo "Cookie deleted.";
?>
✅ Summary Table:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Method 2: file_get_contents
echo file_get_contents("test.txt");
?>
💡 Tip: file_get_contents() easy hota hai, interview me bol sakte ho "shortcut
method".
2. Writing Files
File me naya data likhna (purana data replace ho jayega).
fwrite()
file_put_contents()
Example:
php
Copy
Edit
<?php
// Method 1: fwrite
$file = fopen("test.txt", "w"); // "w" = write mode (overwrite karega)
fwrite($file, "Hello World!");
fclose($file);
// Method 2: file_put_contents
file_put_contents("test.txt", "Hello World!");
?>
💡 Note: "w" mode purana data delete karke naya likhta hai.
3. Appending Data
File me purane content ke baad data add karna.
Mode "a" (append) hota hai.
Example:
php
Copy
Edit
<?php
$file = fopen("test.txt", "a"); // append mode
fwrite($file, "\nThis is new line.");
fclose($file);
// Shortcut
file_put_contents("test.txt", "\nThis is new line.", FILE_APPEND);
?>
💡 Note: FILE_APPEND lagane se data add hota hai, overwrite nahi hota.
4. Deleting Files
unlink() function use hota hai.
Example:
php
Copy
Edit
<?php
if (file_exists("test.txt")) {
unlink("test.txt");
echo "File deleted successfully.";
} else {
echo "File does not exist.";
}
?>
5. File Permissions
Matlab file read/write/execute ka control.
chmod() function se set karte hain.
Linux me 644, 755, 777 jaisa number hota hai.
Example:
php
Copy
Edit
<?php
chmod("test.txt", 0777); // sabke liye read/write/execute permission
?>
💡 Interview Tip:
Action Function(s)
Short Tip
Read File fopen, fread, file_get_contents
file_get_contents() easiest
Write File fwrite, file_put_contents "w"
mode overwrite karta hai
Append File fwrite ("a"), file_put_contents + FILE_APPEND
Append = purane ke baad add
Delete File unlink() File ko delete karta hai
Change Permission chmod() 777 = full access
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1. error_reporting()
Kya hai:
Ye PHP ka function hai jo aapke PHP script me kaunse type ke errors show karne
hain ya hide karne hain, wo decide karta hai.
Example:
php
Copy
Edit
<?php
// Sirf warnings aur notices hide karo
error_reporting(E_ERROR | E_PARSE);
2. Try-Catch Blocks
Kya hai:
try block me risky code likhte hain, agar koi error/exception aata hai to catch
block execute hota hai.
Example:
php
Copy
Edit
<?php
try {
$num = 0;
if($num == 0) {
throw new Exception("Number zero nahi ho sakta!");
}
echo 10 / $num;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
?>
Interview Tip:
Try-Catch runtime errors ko handle karta hai.
Multiple catch blocks bana sakte ho alag-alag exception ke liye.
3. Custom Exceptions
Kya hai:
Apna khud ka exception class bana ke specific errors handle karna.
Example:
php
Copy
Edit
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException("Ye mera custom error hai!");
} catch (MyCustomException $e) {
echo "Custom Error: " . $e->getMessage();
}
?>
Interview Tip:
Useful jab aapko apne project ke specific errors handle karne hain.
php
<?php
error_log("Ye ek test error hai!", 3, "errors.log");
echo "Error log file me save ho gaya.";
?>
Interview Tip:
Production me error_log use hota hai user ko error dikhane ke bajay file me save
karne ke liye.
3rd parameter = file ka path.
Q: error_reporting() ka kaam?
A: Decide karta hai kaunse errors show/hide karne hain.
Q: error_log ka use?
A: Errors ko file me save karke debugging easy karna.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
php
Copy
Edit
<?php
class Car {
public $brand = "Tata";
}
php
Copy
Edit
<?php
class Car {
public $brand;
public function setBrand($name) {
$this->brand = $name;
}
public function getBrand() {
return $this->brand;
}
}
$c = new Car();
$c->setBrand("Mahindra");
echo $c->getBrand(); // Output: Mahindra
?>
php
Copy
Edit
<?php
class Car {
public function __construct() {
echo "Car object bana!<br>";
}
public function __destruct() {
echo "Car object destroy ho gaya!";
}
}
$c = new Car();
?>
4. Access Modifiers
Kya hai:
php
Copy
Edit
<?php
class Test {
public $a = "Public";
private $b = "Private";
protected $c = "Protected";
}
$t = new Test();
echo $t->a; // Works
// echo $t->b; // Error
?>
5. Inheritance (extends)
Kya hai: Ek class doosri class ke properties/methods le sakti hai.
php
Copy
Edit
<?php
class ParentClass {
public function greet() {
echo "Hello from Parent";
}
}
class ChildClass extends ParentClass {}
$c = new ChildClass();
$c->greet(); // Output: Hello from Parent
?>
6. Method Overriding
Kya hai: Child class parent ke method ko apne way me define kar sakti hai.
php
Copy
Edit
<?php
class ParentClass {
public function greet() {
echo "Hello from Parent";
}
}
class ChildClass extends ParentClass {
public function greet() {
echo "Hello from Child";
}
}
$c = new ChildClass();
$c->greet(); // Output: Hello from Child
?>
7. parent:: keyword
Kya hai: Parent class ke method ko child se call karne ke liye.
php
Copy
Edit
<?php
class ParentClass {
public function greet() {
echo "Hello from Parent";
}
}
class ChildClass extends ParentClass {
public function greet() {
parent::greet();
echo " and Hello from Child";
}
}
$c = new ChildClass();
$c->greet();
?>
php
Copy
Edit
<?php
class Math {
public static $pi = 3.14;
public static function square($n) {
return $n * $n;
}
}
echo Math::$pi; // 3.14
echo Math::square(5); // 25
?>
9. Interfaces
Kya hai: Contract jisme methods define hote hain, implementation class karegi.
php
Copy
Edit
<?php
interface Animal {
public function sound();
}
class Dog implements Animal {
public function sound() {
echo "Bark";
}
}
$d = new Dog();
$d->sound();
?>
php
Copy
Edit
<?php
abstract class Shape {
abstract public function area();
}
class Circle extends Shape {
public function area() {
return 3.14 * 5 * 5;
}
}
$c = new Circle();
echo $c->area();
?>
php
Copy
Edit
<?php
trait Logger {
public function log($msg) {
echo "Log: $msg";
}
}
class App {
use Logger;
}
$a = new App();
$a->log("Hello World");
?>
php
Copy
Edit
<?php
class Test {
private $data = [];
public function __set($name, $value) {
$this->data[$name] = $value;
}
public function __get($name) {
return $this->data[$name];
}
public function __toString() {
return "Object as String";
}
}
$t = new Test();
$t->name = "Sonu";
echo $t->name;
echo $t;
?>
php
Copy
Edit
<?php
spl_autoload_register(function($className) {
include $className . '.php';
});
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
php
Copy
Edit
<?php
namespace MyApp;
class Test {
public function sayHello() {
echo "Hello from MyApp namespace!";
}
}
bash
Copy
Edit
composer require guzzlehttp/guzzle
Aur phir PHP file me:
php
Copy
Edit
require 'vendor/autoload.php';
use GuzzleHttp\Client;
3. PHP Filters
Q: Filters ka use kahan hota hai?
A: Input validate/sanitize karne ke liye.
Example:
php
Copy
Edit
$email = "[email protected]";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Valid Email";
} else {
echo "Invalid Email";
}
💡 Interview Tip: Use filter_var for safe input handling.
php
Copy
Edit
echo date("Y-m-d H:i:s"); // current date-time
echo strtotime("next Monday"); // timestamp for next Monday
💡 Interview Tip: Date formatting ka syntax yaad rakho.
5. Regular Expressions
Q: preg_match aur preg_replace ka difference?
A:
php
Copy
Edit
if (preg_match("/php/i", "I love PHP")) {
echo "Match found!";
}
6. JSON Handling
Q: PHP me JSON kaise encode/decode hota hai?
A:
php
Copy
Edit
$data = ["name" => "Sonu", "age" => 25];
$json = json_encode($data);
echo $json;
php
Copy
Edit
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
💡 Interview Tip: GET/POST API call ke liye cURL ka syntax yaad rakho.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Answer:
SQL Injection ek attack hota hai jisme attacker SQL query me malicious data
inject karke database ka data access/change/delete kar sakta hai.
Isse bachne ke liye Prepared Statements use karte hain.
Example:
❌ Vulnerable Code (Galat Tarika)
php
Copy
Edit
// User se data bina filter liya
$id = $_GET['id'];
$result = $conn->query("SELECT * FROM users WHERE id = '$id'");
Agar user id=1 OR 1=1 bhej de to puri table ka data aa jayega.
php
Copy
Edit
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $_GET['id']); // i = integer
$stmt->execute();
$result = $stmt->get_result();
Example:
❌ Vulnerable Code
php
Copy
Edit
echo $_GET['name'];
// Agar name = <script>alert('Hacked')</script> hai to alert aayega
✅ Secure Code
php
Copy
Edit
echo htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8');
// Output me script execute nahi hoga
3. CSRF Tokens
Question: CSRF kya hota hai? Kaise prevent kare?
Answer:
CSRF (Cross-Site Request Forgery) ek attack hai jisme attacker user ke session
ka use karke unwanted action perform kar deta hai (jaise account delete).
Isse bachne ke liye CSRF Token use karte hain jo har form ke saath bheja jata
hai aur server par verify hota hai.
Example:
🔹 Token Generate
php
Copy
Edit
session_start();
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
🔹 Form me Token
html
Copy
Edit
<form method="POST">
<input type="hidden" name="csrf_token" value="<?php echo
$_SESSION['csrf_token']; ?>">
<button type="submit">Submit</button>
</form>
🔹 Verify Token
php
Copy
Edit
if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) {
die("CSRF attack detected!");
}
Answer:
Password hamesha plain text me store nahi karna chahiye. password_hash() se hash
karke store karo, aur login ke time password_verify() se check karo.
Example:
🔹 Register ke time
php
Copy
Edit
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
🔹 Login ke time
php
Copy
Edit
if (password_verify($password, $hashedPassword)) {
echo "Login Success";
} else {
echo "Invalid Password";
}
Answer:
File upload me attacker harmful file (PHP shell, virus) upload kar sakta hai.
Security ke liye:
File type check karo (MIME type)
File size limit karo
File name random karo
Upload folder me PHP execute disable karo
Example:
php
Copy
Edit
$allowedTypes = ['image/jpeg', 'image/png'];
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
javascript
Copy
Edit
$.ajax({
url: 'process.php', // PHP file ka naam
type: 'POST', // Method
data: { name: 'Sonu', age: 25 }, // Jo data bhejna hai
success: function(response) {
console.log(response);
}
});
Interview म Short Answer:
"AJAX का use page reload ke bina PHP file me data send karne ke liye hota hai."
Example (process.php):
php
Copy
Edit
<?php
$name = $_POST['name'];
$age = $_POST['age'];
// Process Logic
echo "Name: $name, Age: $age";
?>
Interview म Short Answer:
"PHP me $_POST ya $_GET ke through AJAX ka data receive karke process karte
hain."
php
Copy
Edit
<?php
$name = $_POST['name'];
$age = $_POST['age'];
$response = [
'status' => 'success',
'message' => 'Data Received',
'data' => [
'name' => $name,
'age' => $age
]
];
header('Content-Type: application/json');
echo json_encode($response);
?>
Interview म Short Answer:
"PHP me json_encode() ka use karke associative array ko JSON format me bhejte
hain."
html
Copy
Edit
<input type="text" id="name" placeholder="Enter Name">
<input type="number" id="age" placeholder="Enter Age">
<button id="sendBtn">Send</button>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$("#sendBtn").click(function(){
$.ajax({
url: 'process.php',
type: 'POST',
data: {
name: $("#name").val(),
age: $("#age").val()
},
dataType: 'json',
success: function(res) {
alert(res.message + " - " + res.data.name);
}
});
});
</script>
PHP (process.php):
php
Copy
Edit
<?php
$name = $_POST['name'];
$age = $_POST['age'];
$response = [
'status' => 'success',
'message' => 'Data Received Successfully',
'data' => [
'name' => $name,
'age' => $age
]
];
header('Content-Type: application/json');
echo json_encode($response);
?>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Example:
php
Copy
Edit
// Registration
INSERT INTO users (name, email, password) VALUES ('Rahul', '[email protected]',
md5('12345'));
// Login
SELECT * FROM users WHERE email='[email protected]' AND password=md5('12345');
Interview Tip: Session का use होता है login state maintain करने के िलए, और password हमेशा
hash करना चािहए (MD5, bcrypt आिद)।
Example:
php
Copy
Edit
// Create
INSERT INTO students (name, age) VALUES ('Amit', 21);
// Read
SELECT * FROM students;
// Update
UPDATE students SET name='Amit Kumar' WHERE id=1;
// Delete
DELETE FROM students WHERE id=1;
Interview Tip: CRUD हर application का base होता है , इसम SQL queries और PHP forms का use
होता है ।
File upload म user अपने local computer से file select करता है और server पर save होती है ।
Example (Upload):
php
Copy
Edit
move_uploaded_file($_FILES['file']['tmp_name'], "uploads/" .
$_FILES['file']['name']);
Example (Download):
php
Copy
Edit
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');
readfile('uploads/file.pdf');
Interview Tip: Upload म हमेशा file size, type और extension validate करना चािहए
security के िलए।
4. Pagination
Interview म Simple Explain:
Pagination का use बड़े data को छोटे -छोटे pages म divide करने के िलए िकया जाता है ।
Example:
php
Copy
Edit
$limit = 10;
$offset = ($page - 1) * $limit;
SELECT * FROM products LIMIT $limit OFFSET $offset;
Interview Tip: Pagination load time और performance improve करता है ।
5. Search Functionality
Interview म Simple Explain:
Search का use िकसी data को keyword के basis पर filter करने के िलए िकया जाता है ।
Example:
php
Copy
Edit
$search = "phone";
SELECT * FROM products WHERE name LIKE '%$search%';
Interview Tip: Always prepared statement का use करना चािहए तािक SQL injection से बचा जा
सके।
sql
Copy
Edit
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100) UNIQUE,
password VARCHAR(255)
);
register.php
php
registerCopy
Edit
<?php
$conn = new mysqli("localhost", "root", "", "testdb");
if (isset($_POST['register'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$pass = password_hash($_POST['password'], PASSWORD_BCRYPT);
login.php
php
Copy
Edit
<?php
session_start();
$conn = new mysqli("localhost", "root", "", "testdb");
if (isset($_POST['login'])) {
$email = $_POST['email'];
$pass = $_POST['password'];
welcome.php
php
Copy
Edit
<?php
session_start();
if (!isset($_SESSION['user'])) {
header("Location: login.php");
}
echo "Welcome " . $_SESSION['user'];
?>
<a href="logout.php">Logout</a>
logout.php
php
Copy
Edit
<?php
session_start();
session_destroy();
header("Location: login.php");
?>
Table: products
sql
Copy
Edit
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(10,2)
);
index.php
php
Copy
Edit
<?php
$conn = new mysqli("localhost", "root", "", "testdb");
$result = $conn->query("SELECT * FROM products");
?>
<h2>Product CRUD</h2>
<input type="text" id="name" placeholder="Name">
<input type="number" id="price" placeholder="Price">
<button onclick="addProduct()">Add</button>
<script>
function addProduct(){
let name = document.getElementById("name").value;
let price = document.getElementById("price").value;
let xhr = new XMLHttpRequest();
xhr.open("POST", "add.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onload = function(){
location.reload();
}
xhr.send("name="+name+"&price="+price);
}
function deleteProduct(id){
let xhr = new XMLHttpRequest();
xhr.open("POST", "delete.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onload = function(){
document.getElementById("row"+id).remove();
}
xhr.send("id="+id);
}
</script>
add.php
php
Copy
Edit
<?php
$conn = new mysqli("localhost","root","","testdb");
$name = $_POST['name'];
$price = $_POST['price'];
$conn->query("INSERT INTO products (name,price) VALUES ('$name','$price')");
?>
delete.php
php
Copy
Edit
<?php
$conn = new mysqli("localhost","root","","testdb");
$id = $_POST['id'];
$conn->query("DELETE FROM products WHERE id=$id");
?>
<h3>Download Files:</h3>
<?php
$files = scandir("uploads");
foreach($files as $file){
if($file != "." && $file != ".."){
echo "<a href='uploads/$file' download>$file</a><br>";
}
}
?>
📌 4. Pagination
php
Copy
Edit
<?php
$conn = new mysqli("localhost", "root", "", "testdb");
$limit = 5;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page-1) * $limit;
for($i=1;$i<=$pages;$i++){
echo "<a href='?page=$i'>$i</a> ";
}
?>
📌 5. Search Functionality
php
Copy
Edit
<?php
$conn = new mysqli("localhost", "root", "", "testdb");
$search = isset($_GET['search']) ? $_GET['search'] : '';
<?php
while($row = $result->fetch_assoc()){
echo $row['id']." - ".$row['name']."<br>";
}
?>
********************************************************************************
******************************************************************************
================================MOST ASKING QUESTION FOR INTERVIEWS ANSWER
*************************
=========================================================
********************************************************************************
********************************************************************************
***
php
Copy
Edit
<?php
echo "Hello PHP!";
?>
php
Copy
Edit
echo "Hello", " World"; // Works
print "Hello World"; // Only one argument
php
Copy
Edit
var_dump(5 == "5"); // true
var_dump(5 === "5"); // false
php
Copy
Edit
$x = "";
var_dump(isset($x)); // true
var_dump(empty($x)); // true
var_dump(is_null($x));// false
php
Copy
Edit
$x = "10";
$y = (int)$x;
var_dump($y); // int(10)
7. GET aur POST me difference?
GET POST
Data URL me show hota hai Data URL me nahi show hota
Limited data (2KB) Large data
Less secure More secure for sensitive data
php
Copy
Edit
// form method="GET" → URL me data visible
// form method="POST" → Data background me send
php
Copy
Edit
// Session
session_start();
$_SESSION['user'] = "Amit";
// Cookie
setcookie("user", "Amit", time()+3600);
php
Copy
Edit
include "file.php";
require "file.php";
Examples:
php
Copy
Edit
echo $_SERVER['HTTP_HOST'];
********************************************************************************
********************************************************************************
***
// 2. Loop
$str = "hello";
$rev = "";
for($i = strlen($str)-1; $i >= 0; $i--){
$rev .= $str[$i];
}
echo $rev;
// 3. Recursion
function reverseString($str){
return (strlen($str) == 0) ? "" : reverseString(substr($str,1)) . $str[0];
}
echo reverseString("hello");
$arr = [5,2,8,1,3];
// Ascending
for($i=0;$i<count($arr);$i++){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i] > $arr[$j]){
$temp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $temp;
}
}
}
print_r($arr);
$a = [1,2,3];
$b = [3,4,5];
print_r(array_merge($a, $b)); // merge
print_r(array_diff($a, $b)); // difference
print_r(array_intersect($a, $b)); // intersection
$arr = [
["name"=>"Amit", "age"=>25],
["name"=>"Raj", "age"=>30]
];
foreach($arr as $row){
echo $row["name"]." - ".$row["age"]."\n";
}
$arr = [1,2,3,4,5];
echo array_sum($arr); // 15
********************************************************************************
********************************************************************************
***
3. Fibonacci series
php
Copy
Edit
$a = 0; $b = 1;
echo "$a $b ";
for($i=2; $i<10; $i++){
$c = $a + $b;
echo "$c ";
$a = $b;
$b = $c;
}
4. Factorial of a number
php
Copy
Edit
$num = 5;
$fact = 1;
for($i=1; $i<=$num; $i++){
$fact *= $i;
}
echo "Factorial: $fact";
8. Multiplication table
php
Copy
Edit
$num = 5;
for($i=1; $i<=10; $i++){
echo "$num x $i = " . ($num*$i) . "\n";
}
********************************************************************************
********************************************************************************
***
1. Default Arguments
Default argument ka matlab agar value na di jaye to default use ho.
php
Copy
Edit
function greet($name = "Guest"){
echo "Hello $name";
}
greet(); // Hello Guest
greet("Sonu"); // Hello Sonu
php
Copy
Edit
// Pass by Value
function changeValue($num){
$num = 10;
}
$a = 5;
changeValue($a);
echo $a; // 5 (no change)
// Pass by Reference
function changeRef(&$num){
$num = 10;
}
$b = 5;
changeRef($b);
echo $b; // 10 (changed)
php
Copy
Edit
function factorial($n){
if($n == 0) return 1;
return $n * factorial($n - 1);
}
echo factorial(5); // 120
4. Class & Object
php
Copy
Edit
class Car {
public $brand;
public function start(){
echo "Car Started";
}
}
$myCar = new Car();
$myCar->brand = "BMW";
echo $myCar->brand; // BMW
$myCar->start();
// Multilevel
class GrandChild extends ChildClass {}
$gc = new GrandChild();
$gc->greet();
interface Animal {
public function sound();
}
class Dog implements Animal {
public function sound(){ echo "Bark"; }
}
8. Traits
Multiple inheritance ka alternative.
php
Copy
Edit
trait Logger {
public function log($msg){ echo "Log: $msg\n"; }
}
class App {
use Logger;
}
$obj = new App();
$obj->log("Application Started");
********************************************************************************
********************************************************************************
***
1. File Read/Write
php
Copy
Edit
// Write to file
$file = fopen("test.txt", "w");
fwrite($file, "Hello PHP");
fclose($file);
// Login
$email = $_POST['email'];
$pass = $_POST['password'];
$res = $conn->query("SELECT * FROM users WHERE email='$email'");
$user = $res->fetch_assoc();
if(password_verify($pass,$user['password'])){
echo "Login Successful";
}
8. Search Functionality
php
Copy
Edit
$search = $_GET['search'];
$res = $conn->query("SELECT * FROM products WHERE name LIKE '%$search%'");
while($row = $res->fetch_assoc()){
echo $row['name']."<br>";
}
9. Pagination Example
php
Copy
Edit
$limit = 5;
$page = $_GET['page'] ?? 1;
$start = ($page-1)*$limit;
$res = $conn->query("SELECT * FROM products LIMIT $start,$limit");
while($row = $res->fetch_assoc()){
echo $row['name']."<br>";
}
$total = $conn->query("SELECT COUNT(id) AS total FROM
products")->fetch_assoc()['total'];
$pages = ceil($total/$limit);
for($i=1;$i<=$pages;$i++){
echo "<a href='?page=$i'>$i</a> ";
}
********************************************************************************
********************************************************************************
***
6. Advanced / Important
JSON encode/decode ka example.
API call karna PHP se (cURL example).
AJAX se PHP ko data bhejna aur JSON response lena.
PHP me encryption/decryption ka example (md5, password_hash).
Error handling ka example (try-catch).
Date difference ka program (in days, months, years).
Regular expression ka example (email validation, phone validation).
Custom exception handling ka program.
CSRF token generate & validate ka example.
PHP 8 ka match statement ka example.
html
Copy
Edit
<input type="text" id="name">
<button onclick="sendData()">Send</button>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
function sendData(){
$.ajax({
url: "process.php",
type: "POST",
data: {name: $("#name").val()},
success: function(response){
alert(response);
}
});
}
</script>
process.php
php
Copy
Edit
$name = $_POST['name'];
echo json_encode(["message"=>"Hello $name"]);
$phone = "9876543210";
if(preg_match("/^[6-9]\d{9}$/",$phone)){
echo "Valid Phone";
}
// Validate
if($_POST['csrf_token'] === $_SESSION['csrf_token']){
echo "Valid Request";
} else { echo "Invalid Request"; }
//////////////////////////////////////////////////////////////////COMPLETE JS
WITH PHP NOTES
/////////////////////////////////////////////////////////////////////
php
Copy
Edit
<script>
var name = "<?php echo $username; ?>";
alert("Hello " + name);
</script>
1.2 Passing JS data to PHP
Form submission ya AJAX se PHP ko data bhejte hain
html
Copy
Edit
<form method="POST" action="process.php">
<input type="text" name="name" id="name">
<input type="submit" value="Send">
</form>
php
Copy
Edit
// process.php
$name = $_POST['name'];
echo "Hello " . $name;
2 ⃣ JavaScript Topics (Client-side)
2.1 Variables
javascript
Copy
Edit
var x = 10; // function scoped
let y = 20; // block scoped
const z = 30; // constant
2.3 Operators
Arithmetic: + - * / %
Logical: && || !
2.4 Functions
javascript
Copy
Edit
function greet(name){
return "Hello " + name;
}
// Arrow function
let greet2 = (name) => "Hello " + name;
2.5 Control Statements
if, else, else if
switch
2.6 Events
onclick, onchange, onmouseover, onload
html
Copy
Edit
<button onclick="alert('Clicked')">Click Me</button>
indexOf(), includes()
2.9 JS Object
javascript
Copy
Edit
let user = {name:"Sonu", age:25};
console.log(user.name);
javascript
Copy
Edit
function validateForm(){
let name = document.getElementById("name").value;
if(name==""){ alert("Name required"); return false;}
}
php
Copy
Edit
if(empty($_POST['name'])){ echo "Name required"; }
3.3 Events
.click(), .hover(), .change(), .submit()
3.4 Effects
.hide(), .show(), .fadeIn(), .fadeOut(), .slideUp(), .slideDown()