ЁЯТ╗ G.C.E. A/L ICT (родрооிро┤் роКроЯроХроо்)
Unit 10.6 - 10.8: Web Authoring, PHP, MySQL & Publishing
Web Authoring Tool & WYSIWYG
Web Authoring Tool: Web Pages-роР роЙро░ுро╡ாроХ்роХро╡ுроо், родிро░ுрод்родро╡ுроо், роиிро░்ро╡роХிроХ்роХро╡ுроо் рокропрой்рокроЯுрод்родрок்рокроЯுроо் рооெрой்рокொро░ுро│் (роО.роХா: Adobe Dreamweaver, Visual Studio Code, KompoZer).
WYSIWYG: "What You See Is What You Get". родிро░ைропிро▓் роиாроо் роХாрогுроо் ро╡роЯிро╡рооே роЗро▒ுродிропாроХ Web Page-ро▓் родோрой்ро▒ுроо் ро╡роЯிро╡рооாроХ роЗро░ுроХ்роХுроо்.
роирой்рооைроХро│்: Web Development роОро│ிродாроХிро▒родு, ро╡ேроХрооாроХ роЙро░ுро╡ாроХ்роХро▓ாроо், Visual Editing, Code Assistance (Syntax Highlighting, Auto-completion).
Static vs Dynamic Web Pages
| Static Web Page | Dynamic Web Page |
|---|---|
| рооுрой்роХூроЯ்роЯிропே роиிро░்рогропிроХ்роХрок்рокроЯ்роЯ родроХро╡ро▓்роХро│் | User Input/Database роЕроЯிрок்рокроЯைропிро▓் рооாро▒ுроо் |
| Developer рооாро▒்ро▒ுроо் ро╡ро░ை рооாро▒ாродு | роиேро░роо், User Action роЕроЯிрок்рокроЯைропிро▓் роЙро░ுро╡ாроХுроо் |
| HTML роороЯ்роЯுроо் рокோродுроо் | PHP, MySQL, JavaScript родேро╡ை |
Dynamic Website Architecture Flow
USER → Web Browser → HTTP Request → Web Server
↓
PHP
↓
-------------------
↓ ↓
Processing MySQL
↓
Database
↓
Result
↓
PHP
↓
HTML Output
↓
Web Browser
PHP Variables & Data Types
PHP Variable роОрок்рокோродுроо் $ роХுро▒ிропீроЯ்роЯுроЯрой் родொроЯроЩ்роХுроо்.
<?php
$name = "Kamal"; // String
$age = 18; // Integer
$marks = 85.5; // Float
$passed = true; // Boolean
echo "Name: " . $name; // String Concatenation (.)
?>
PHP Arrays (Indexed & Associative)
Indexed Array:
$students = array("Kamal", "Nimal", "Sunil");
echo $students[0]; // Output: Kamal (Index starts at 0)
Associative Array:
$student = array("name" => "Kamal", "age" => 18);
echo $student["name"]; // Output: Kamal
Control Structures (if, else, loops)
// if...elseif...else
$marks = 75;
if ($marks >= 75) {
echo "A";
} elseif ($marks >= 65) {
echo "B";
} else {
echo "S";
}
// for Loop
for ($i = 1; $i <= 5; $i++) {
echo $i; // Output: 12345
}
// foreach Loop (for Arrays)
$names = array("Kamal", "Nimal");
foreach ($names as $name) {
echo $name;
}
PHP Functions
Code Reusability-роХ்роХாроХ Functions рокропрой்рокроЯுрод்родрок்рокроЯுроХிрой்ро▒рой.
function add($a, $b) {
return $a + $b;
}
$result = add(10, 20);
echo $result; // Output: 30
рооுроХ்роХிроп HTML Form Elements
- Text:
<input type="text" name="username"> - Password:
<input type="password" name="pass"> - Radio: (роТро░ு Option роороЯ்роЯுроо்)
<input type="radio" name="gender" value="Male">(роТро░ேnameроЗро░ுроХ்роХ ро╡ேрог்роЯுроо்) - Checkbox: (рокро▓ Options)
<input type="checkbox" name="subject" value="ICT"> - Select:
<select name="district"><option value="Colombo">Colombo</option></select> - Fieldset: Related controls-роР group роЪெроп்роп
<fieldset>рооро▒்ро▒ுроо்<legend>рокропрой்рокроЯுроо்.
GET vs POST Method (рооிроХ рооுроХ்роХிропроо் ⭐)
| GET Method | POST Method |
|---|---|
| Data URL-ро▓் роХாрогрок்рокроЯுроо் | Data Request Body-ро▓் роЕройுрок்рокрок்рокроЯுроо் |
| Search/Retrieval-роХ்роХு роПро▒்ро▒родு | Data Submission (Login/Register)-роХ்роХு роПро▒்ро▒родு |
| URL-роР Bookmark роЪெроп்ропро▓ாроо் | Form Data рокொродுро╡ாроХ Bookmark роЪெроп்ропрок்рокроЯாродு |
| Password-роХ்роХு рокொро░ுрод்родрооாройродு роЕро▓்ро▓ | Password рокோрой்ро▒ sensitive data-роХ்роХு ро╡ிро░ுроо்рокрод்родроХ்роХродு |
| URL Length ро╡ро░роо்рокு роЙро│்ро│родு | рокெро░ிроп Data-роХ்роХு роЪிро▒рои்родродு |
PHP рооூро▓роо் Form Data рокெро▒ுродро▓்
// HTML Form
<form action="process.php" method="post">
<input type="text" name="name">
<input type="submit" value="Submit">
</form>
// process.php
<?php
$name = $_POST["name"]; // method="post" → $_POST
echo "Name: " . $name;
?>
method="get" → $_GET | method="post" → $_POST
Database роЕроЯிрок்рокроЯை роЪொро▒்роХро│்
- Database: родொроЯро░்рокுроЯைроп Data-роХро│ிрой் родொроХுрок்рокு.
- Table: родொроЯро░்рокுроЯைроп Records-роР роЪேрооிроХ்роХுроо் роЕрооைрок்рокு.
- Row/Record: роТро░ு рооுро┤ுрооைропாрой Data Record.
- Column/Field: роТро░ு роХுро▒ிрок்рокிроЯ்роЯ Attribute (роО.роХா: Name, Age).
- Primary Key: роТро╡்ро╡ொро░ு Record-роР родройிрод்родுро╡рооாроХ роЕроЯைропாро│роо் роХாрогுроо் Field (роО.роХா: StudentID).
рооுроХ்роХிроп SQL Commands (CRUD)
-- 1. CREATE Database & Table
CREATE DATABASE school;
USE school;
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- 2. INSERT (Add Data)
INSERT INTO student (id, name, age) VALUES (1, 'Kamal', 18);
-- 3. SELECT (Retrieve Data)
SELECT * FROM student;
SELECT name, age FROM student WHERE id = 1;
-- 4. UPDATE (Modify Data)
UPDATE student SET age = 19 WHERE id = 1;
-- 5. DELETE (Remove Data)
DELETE FROM student WHERE id = 1;
DELETE FROM student; роОрой்ро▒ு WHERE роЗро▓்ро▓ாрооро▓் роХொроЯுрод்родாро▓் Table-ро▓் роЙро│்ро│ роЕройைрод்родு Records-роХро│ுроо் роиீроХ்роХрок்рокроЯுроо்!
PHP & MySQL Connectivity
<?php
// 1. Connection роЙро░ுро╡ாроХ்роХுродро▓்
$conn = new mysqli("localhost", "root", "", "school");
// 2. Connection роЪро░ிрокாро░்род்родро▓்
if ($conn->connect_error) {
die("Connection failed");
}
// 3. Form Data-ро╡ை Save роЪெроп்родро▓் (INSERT)
$name = $_POST["name"];
$age = $_POST["age"];
$sql = "INSERT INTO student (name, age) VALUES ('$name', '$age')";
$conn->query($sql);
echo "Data saved";
// 4. Database-ро▓ிро░ுрои்родு Data рокெро▒ுродро▓் (SELECT)
$result = $conn->query("SELECT * FROM student");
while ($row = $result->fetch_assoc()) {
echo $row["name"] . "<br>";
}
?>
Local vs Internet Publishing
| Local Publishing | Internet Publishing |
|---|---|
| Local Computer/Intranet-ро▓் роЗропроЩ்роХுроо் | Remote Server-ро▓் роЗропроЩ்роХி рокொродுро╡ாроХ роЕрогுроХроХ்роХூроЯிропродு |
| XAMPP, WAMP рокோрой்ро▒ро╡ை рокропрой்рокроЯுроо் | Web Hosting Service родேро╡ை |
http://localhost/ рооூро▓роо் роЕрогுроХро▓ாроо் | Domain/Subdomain рооூро▓роо் роЕрогுроХро▓ாроо் |
| Development & Testing-роХ்роХு роороЯ்роЯுроо் | Production Website-роХ்роХு |
Internet Publishing рокроЯிроХро│்
- Website роЙро░ுро╡ாроХ்роХுродро▓் & Local-ро▓் Test роЪெроп்родро▓்
- Web Hosting Account рокெро▒ுродро▓்
- Website Files (HTML, PHP, CSS, Images) Upload роЪெроп்родро▓்
- MySQL Database роЙро░ுро╡ாроХ்роХி Configure роЪெроп்родро▓்
- Domain/Subdomain роЗрогைрод்родро▓்
- Online Website-роР Test роЪெроп்родро▓்
Website Performance-роР рокாродிроХ்роХுроо் роХாро░рогிроХро│்
- Image/File Size: рокெро░ிроп Files Loading-роР рооெродுро╡ாроХ்роХுроо் (Compress роЪெроп்роп ро╡ேрог்роЯுроо்).
- HTTP Requests: роЕродிроХ Images/CSS/JS Files роЕродிроХ Requests родேро╡ைрок்рокроЯுрод்родுроо்.
- Server Performance: Slow Server Response Time-роР роЕродிроХро░ிроХ்роХுроо்.
- Database Efficiency: родிро▒рооைропро▒்ро▒ SQL Queries (роО.роХா: родேро╡ைропிро▓்ро▓ாрод
SELECT *) рооெродுро╡ாроХ்роХுроо். - Caching: роЕроЯிроХ்роХроЯி рокропрой்рокроЯுрод்родрок்рокроЯுроо் Resources-роР роЪேрооிрод்родு ро╡ைрок்рокродு ро╡ேроХрод்родை роЕродிроХро░ிроХ்роХுроо்.
- Bandwidth & Internet Speed: User-рой் Network ро╡ேроХроо்.
ЁЯУЭ A/L рооாродிро░ி ро╡ிройாроХ்роХро│்
Static рооро▒்ро▒ுроо் Dynamic Web Page-роХ்роХு роЗроЯைропிро▓ாрой ро╡ேро▒ுрокாроЯ்роЯை ро╡ிро│роХ்роХுроХ.
ро╡ிроЯை: Static Web Page рооுрой்роХூроЯ்роЯிропே роиிро░்рогропிроХ்роХрок்рокроЯ்роЯ родроХро╡ро▓்роХро│ைроХ் роХாроЯ்роЯுроо். Dynamic Web Page роОрой்рокродு User Input, Database роЕро▓்ро▓родு роиேро░роо் рокோрой்ро▒ роиிрокрои்родройைроХро│ிрой் роЕроЯிрок்рокроЯைропிро▓் роЙро│்ро│роЯроХ்роХрод்родை роЙро░ுро╡ாроХ்роХுроо் роЕро▓்ро▓родு рооாро▒்ро▒ுроо்.
GET рооро▒்ро▒ுроо் POST роЗроЯைропே роЗро░рог்роЯு ро╡ேро▒ுрокாроЯுроХро│ைроХ் роХுро▒ிрок்рокிроЯுроХ.
ро╡ிроЯை: 1. GET-ро▓் Data URL-ро▓் роХாрогрок்рокроЯுроо், POST-ро▓் Request Body-ро▓் роЕройுрок்рокрок்рокроЯுроо். 2. GET Search/Retrieval-роХ்роХு роПро▒்ро▒родு, POST Password рокோрой்ро▒ sensitive data submission-роХ்роХு ро╡ிро░ுроо்рокрод்родроХ்роХродு.
`school` роОрой்ро▒ рокெропро░ிро▓் Database рооро▒்ро▒ுроо் `student` Table роЙро░ுро╡ாроХ்роХுроо் SQL Command роОро┤ுродுроХ.
CREATE DATABASE school;
USE school;
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
HTML Form-ро▓் User Name рокெро▒்ро▒ு `save.php`-роХ்роХு POST method рооூро▓роо் роЕройுрок்рокுроо் Code роОро┤ுродுроХ.
<form action="save.php" method="post">
Name: <input type="text" name="name">
<input type="submit" value="Save">
</form>
Website Performance-роР рокாродிроХ்роХுроо் роРрои்родு роХாро░рогிроХро│ைроХ் роХுро▒ிрок்рокிроЯுроХ.
ро╡ிроЯை: 1. Image/File Size, 2. Server Performance, 3. HTTP Requests роОрог்рогிроХ்роХை, 4. Database Query Efficiency, 5. Caching.
⚡ One-Minute Revision Sheet
HTML FORM → GET / POST → PHP → MySQL → SQL QUERY → DATABASE → PHP → HTML → BROWSER
ЁЯФС Key Keywords:
WYSIWYG = What You See Is What Get
$_GET / $_POST = Form Data рокெро▒
PRIMARY KEY = Unique Record Identifier
Local Publishing = XAMPP/WAMP (Testing)
Internet Publishing = Web Hosting + Domain
No comments:
Post a Comment