UNIT 5: PHP in Hindi

 

UNIT 5: PHP

PHP (हाइपरटेक्स्ट प्रीप्रोसेसर) एक व्यापक रूप से उपयोग किया जाने वाला ओपन-सोर्स स्क्रिप्टिंग भाषा है जो विशेष रूप से वेब डेवलपमेंट के लिए उपयुक्त है। इसे HTML में एम्बेड किया जा सकता है और यह सर्वर-साइड स्क्रिप्टिंग के लिए उपयोग किया जाता है ताकि डायनामिक वेब पेज बनाए जा सकें। इस यूनिट में हम PHP के विभिन्न पहलुओं, जैसे सर्वर-साइड स्क्रिप्टिंग, ऐरेज़, फंक्शंस, एडवांस PHP टॉपिक्स, डेटाबेस ऑपरेशंस और phpMyAdmin के साथ काम करना, को समझेंगे।


5.1. सर्वर-साइड स्क्रिप्टिंग

सर्वर-साइड स्क्रिप्टिंग का मतलब है वह स्क्रिप्ट जो सर्वर पर चलती है, न कि क्लाइंट-साइड पर। जब कोई उपयोगकर्ता एक पृष्ठ की अनुरोध करता है, तो सर्वर उस अनुरोध को प्रोसेस करता है, स्क्रिप्ट को निष्पादित करता है, और जनरेट की गई सामग्री को उपयोगकर्ता के ब्राउज़र में वापस भेजता है। PHP सर्वर-साइड स्क्रिप्टिंग के लिए उपयोग किया जाता है ताकि उपयोगकर्ता की इंटरएक्शन के आधार पर डायनामिक वेब पेज बनाए जा सकें।

5.1.1. PHP में ऐरेज़

ऐरे PHP में एक डेटा संरचना है जो एक ही वेरिएबल में कई मानों को संग्रहित करता है। ऐरेज़ का उपयोग समान प्रकार के डेटा जैसे नंबर या स्ट्रिंग्स को स्टोर करने के लिए किया जाता है।

PHP में ऐरेज़ के प्रकार:
  1. इंडेक्स ऐरेज़: ऐरेज़ जहाँ प्रत्येक एलिमेंट को इंडेक्स (संख्यात्मक इंडेक्स) द्वारा एक्सेस किया जाता है।
  2. एसोसिएटिव ऐरेज़: ऐरेज़ जहाँ प्रत्येक एलिमेंट को एक कुंजी (स्ट्रिंग) द्वारा एक्सेस किया जाता है।
  3. मल्टीडायमेंशनल ऐरेज़: ऐरेज़ जो अन्य ऐरेज़ को संग्रहित करते हैं।
इंडेक्स ऐरे का उदाहरण:
$fruits = array("Apple", "Banana", "Cherry"); echo $fruits[0]; // Output: Apple
एसोसिएटिव ऐरे का उदाहरण:
$person = array("name" => "John", "age" => 25); echo $person["name"]; // Output: John
मल्टीडायमेंशनल ऐरे का उदाहरण:
$contacts = array( array("John", "john@example.com"), array("Jane", "jane@example.com") ); echo $contacts[0][0]; // Output: John

5.1.2. फंक्शन्स और फॉर्म्स

फंक्शन्स PHP में कोड के ब्लॉक होते हैं जो किसी विशेष कार्य को करने के लिए डिजाइन किए जाते हैं। फंक्शन्स का उपयोग पुनः प्रयोग (reusability) के लिए किया जाता है, जिससे कोड अधिक संगठित और प्रभावी बनता है।

फंक्शन बनाना:
function greet($name) { return "Hello, " . $name; } echo greet("Alice"); // Output: Hello, Alice
PHP में फॉर्म्स का हैंडलिंग:

फॉर्म्स का उपयोग अक्सर उपयोगकर्ता से डेटा एकत्र करने के लिए किया जाता है। PHP फॉर्म डेटा को $_GET या $_POST विधियों का उपयोग करके हैंडल करता है।

  • GET विधि का उपयोग उस डेटा के लिए किया जाता है जो URL में जोड़ा जाता है।
  • POST विधि का उपयोग उस डेटा के लिए किया जाता है जो URL में दिखाई नहीं देता है और अधिक सुरक्षित होता है।
फॉर्म डेटा हैंडलिंग का उदाहरण:
<form method="post" action="process.php"> Name: <input type="text" name="name"> <input type="submit" value="Submit"> </form>

// process.php $name = $_POST['name']; echo "Hello, " . $name;

5.1.3. एडवांस PHP

एडवांस PHP में अधिक जटिल विषय होते हैं, जैसे:

  1. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP): PHP में क्लासेस और ऑब्जेक्ट्स का उपयोग।
  2. सत्र और कुकीज़: वेब पेजों के बीच स्थिति बनाए रखना।
  3. एरर हैंडलिंग: try-catch ब्लॉक्स का उपयोग करके एरर को मैनेज करना।
  4. फाइल हैंडलिंग: सर्वर पर फाइलों को अपलोड, पढ़ना, लिखना और हटाना।

PHP में OOP का उदाहरण:

class Person { public $name; public $age; function __construct($name, $age) { $this->name = $name; $this->age = $age; } function greet() { return "Hello, " . $this->name; } } $person1 = new Person("Alice", 25); echo $person1->greet(); // Output: Hello, Alice

5.2. डेटाबेस

PHP को डेटाबेस के साथ मिलकर काम करने के लिए MySQL जैसे डेटाबेस का उपयोग किया जाता है ताकि डेटा को डायनामिक रूप से स्टोर और रिट्रीव किया जा सके। डेटाबेस के साथ इंटरएक्शन SQL क्वेरीज का उपयोग करके किया जाता है।

5.2.1. PHP के साथ बेसिक कमांड उदाहरण

PHP और MySQL के कमांड का उपयोग डेटाबेस से कनेक्ट करने, क्वेरीज को निष्पादित करने और डेटा को रिट्रीव करने के लिए किया जाता है। mysqli (MySQL इम्प्रूव्ड) एक्सटेंशन इन ऑपरेशंस के लिए सामान्यत: उपयोग किया जाता है।

MySQL से कनेक्ट होने का उदाहरण:

$conn = new mysqli("localhost", "username", "password", "database_name"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully";

5.2.2. सर्वर से कनेक्शन, डेटाबेस बनाना

MySQL डेटाबेस से कनेक्ट होने और नया डेटाबेस बनाने के लिए:

$conn = new mysqli("localhost", "username", "password"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // डेटाबेस बनाना $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "Database created successfully"; } else { echo "Error creating database: " . $conn->error; }

5.2.3. डेटाबेस का चयन करना

सर्वर से कनेक्ट होने के बाद डेटाबेस का चयन करना:

$conn = new mysqli("localhost", "username", "password", "myDB"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected to the database!";

5.2.4. डेटाबेस की सूची दिखाना

MySQL सर्वर में सभी डेटाबेस की सूची दिखाने के लिए:

$result = $conn->query("SHOW DATABASES"); while ($row = $result->fetch_assoc()) { echo $row['Database'] . "<br>"; }

5.2.5. टेबल के नाम की सूची दिखाना, एक टेबल बनाना

चयनित डेटाबेस में सभी टेबल्स की सूची दिखाने के लिए:

$result = $conn->query("SHOW TABLES"); while ($row = $result->fetch_assoc()) { echo $row['Tables_in_myDB'] . "<br>"; }

टेबल बनाना:

$sql = "CREATE TABLE Users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50) )"; if ($conn->query($sql) === TRUE) { echo "Table created successfully"; } else { echo "Error creating table: " . $conn->error; }

5.2.6. डेटा इन्सर्ट करना

टेबल में डेटा इन्सर्ट करने के लिए:

$sql = "INSERT INTO Users (name, email) VALUES ('John', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }

5.2.7. टेबल को बदलना, क्वेरीज, डेटाबेस को हटाना, डेटा और टेबल्स को हटाना

टेबल को बदलना:

$sql = "ALTER TABLE Users ADD COLUMN age INT"; if ($conn->query($sql) === TRUE) { echo "Table altered successfully"; } else { echo "Error: " . $conn->error; }

डेटा को हटाना:

$sql = "DELETE FROM Users WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "Record deleted successfully"; } else { echo "Error: " . $conn->error; }

टेबल को ड्रॉप करना:

$sql = "DROP TABLE Users"; if ($conn->query($sql) === TRUE) { echo "Table dropped successfully"; } else { echo "Error: " . $conn->error; }

डेटाबेस को ड्रॉप करना:

$sql = "DROP DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "Database dropped successfully"; } else { echo "Error: " . $conn->error; }

5.3. phpMyAdmin और डेटाबेस बग्स

phpMyAdmin MySQL डेटाबेस को मैनेज करने के लिए एक वेब-आधारित इंटरफ़ेस है। यह उपयोगकर्ताओं को डेटाबेस, टेबल्स, और SQL क्वेरीज को ग्राफिकल यूजर इंटरफ़ेस (GUI) के माध्यम से मैनेज करने की अनुमति देता है।

कुछ सामान्य डेटाबेस बग्स या समस्याएँ PHP और MySQL में होती हैं:

  • कनेक्शन समस्याएँ: गलत लॉगिन क्रेडेंशियल्स या सर्वर डाउन होना।
  • SQL इन्जेक्शन: बिना एस्केप किए गए इनपुट के कारण सुरक्षा जोखिम।
  • क्वेरी एरर्स: SQL क्वेरीज में सिंटैक्स या लॉजिक गलतियाँ।
  • डेटा इंटीग्रिटी समस्याएँ: गलत या डुप्लिकेट डेटा होना।

SQL इन्जेक्शन की रोकथाम का उदाहरण:

$stmt = $conn->prepare("SELECT * FROM Users WHERE name = ?"); $stmt->bind_param("s", $name); $name = $_POST['name']; $stmt->execute();

सारांश

इस यूनिट में, हमने PHP से संबंधित मुख्य विषयों को कवर किया, जिनमें शामिल हैं:

  1. सर्वर-साइड स्क्रिप्टिंग: PHP के द्वारा सर्वर पर डायनामिक वेब पेज बनाने को समझना।
  2. ऐरेज़: PHP में विभिन्न प्रकार के ऐरेज़ (इंडेक्स, एसोसिएटिव, मल्टीडायमेंशनल) का उपयोग करना।
  3. फंक्शन्स और फॉर्म्स: पुनः प्रयोग करने योग्य फंक्शन्स बनाना और फॉर्म डेटा को हैंडल करना।
  4. एडवांस PHP: ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, एरर हैंडलिंग, और फाइल प्रबंधन जैसे एडवांस विषयों को एक्सप्लोर करना।
  5. डेटाबेस: डेटाबेस से कनेक्ट करना, टेबल बनाना, डेटा इन्सर्ट करना और CRUD ऑपरेशंस करना।
  6. phpMyAdmin: phpMyAdmin का उपयोग करके MySQL डेटाबेस को मैनेज करना और सामान्य डेटाबेस संबंधित समस्याओं को ठीक करना।

यह ज्ञान आपको डायनामिक वेबसाइट बनाने में मदद करेगा जो डेटाबेस के साथ इंटरएक्ट करके डेटा को स्टोर, रिट्रीव और मैनेज करती है।

Post a Comment

0 Comments