Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • GfG 160: Daily DSA
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • PHP Tutorial
  • PHP Exercises
  • PHP Array
  • PHP String
  • PHP Calendar
  • PHP Filesystem
  • PHP Math
  • PHP Programs
  • PHP Array Programs
  • PHP String Programs
  • PHP Interview Questions
  • PHP GMP
  • PHP IntlChar
  • PHP Image Processing
  • PHP DsSet
  • PHP DsMap
  • PHP Formatter
  • Web Technology
Open In App
Next Article:
PHP Introduction
Next article icon

PHP Tutorial

Last Updated : 29 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

PHP is a widely used, open-source server-side scripting language primarily designed for web development. It is embedded directly into HTML and generates dynamic content on web pages, making it essential for building data-driven websites. It allows developers to handle database interactions, session management, and form handling tasks.

  • PHP code is executed on the server, generating HTML output sent to the client's browser.
  • It is a dynamically typed language, allowing variables to change types during execution, offering flexibility in coding.
  • PHP is platform-independent, which means it can run on various operating systems such as Windows, Linux, and macOS.
  • PHP supports session management, which allows tracking user activities across different pages on a website.

Note: The latest version, PHP 8.4 (released in 2024), making PHP faster, more efficient, and feature-rich for modern web applications.

To learn more about it follow the article - PHP Versions

PHP Hello World Program

To start with PHP, you need to install it. Follow the steps below to install it on your system.

  1. Install PHP in your Windows System | Linux | MacOS
  2. Set up PHP Project

After installing PHP, let's write your first PHP program. Here's a simple code example:

PHP

  echo "Hello, World!";
?>

Output
Hello, World!

Why Learn PHP?

As per Stack Overflow's recent survey, PHP ranked as the 7th most used language for web development. Here are some reasons why you should learn PHP in 2025:

  • Improved Web Development Efficiency: PHP simplifies the process of creating dynamic web pages and applications, especially when working with databases, form handling, and user authentication.
  • Better Integration with Databases: PHP works seamlessly with a variety of databases, including MySQL and PostgreSQL, making it ideal for data-driven websites and applications.
  • Works Well with HTML: PHP is embedded directly within HTML, allowing developers to create dynamic content easily and integrate server-side logic with client-side presentation.
  • Wide Hosting Support: PHP is supported by nearly all web hosting services, including shared hosting providers, making it easy to deploy applications without complex setup.
  • Works With Popular Frameworks: PHP is commonly used with frameworks like Laravel, Symfony, and CodeIgniter, which improve productivity, security, and maintainability.
  • Catch Errors Early: While PHP is dynamically typed, its extensive community and built-in functions help catch many errors during development, preventing them from affecting production systems.
  • More Job Opportunities: PHP is widely used across the web, and many businesses, especially those running content management systems like WordPress, seek PHP developers to maintain and build their websites and applications.

Getting Started with PHP: A Beginner’s Guide

This PHP tutorial provides you with a step-by-step learning journey for mastering php. You will start with php fundamentals and then move on to advanced topics.

By the end of this tutorial, you will have a solid foundation in PHP and be ready to build scalable and maintainable web applications.

1. PHP Basics

Once your environment is ready, we’ll explore the core concepts that will form the foundation of your PHP skills. Learn how to write dynamic web applications, manage variables, perform type casting, and work with control structures.

  • Introduction
  • Practice: PHP Basic Quiz
  • PHP Data Types
  • PHP Variables
  • Practice: Variables & Data Types Quiz
  • Type Juggling
  • Operators
  • Decision Making
  • Practice: Operators & Decision Making Quiz
  • PHP Math
  • PHP Constants
  • PHP Magic Constants
  • Practice: Constant & Magic Constant Quiz

2. PHP Functions

Functions are key to creating efficient and reusable code. This section will teach you how to create functions in PHP, from basic functions to more advanced anonymous and variadic functions.

  • PHP Functions
  • PHP Default Functions
  • Anonymous Function PHP
  • PHP Callback Function
  • PHP Arrow Functions
  • PHP String Functions
  • PHP Date and Time
  • Practice: PHP Functions Quiz

3. PHP Beginner Projects

Now that you have a basic understanding of PHP, start with some beginner-level projects to solidify your concepts and apply them in real-world applications.

  • Project 1: PDF Downloader in PHP
  • Project 2: Automatic File Downloader

4. PHP Arrays

Arrays are essential for managing data in PHP. This section covers array types and essential superglobal variables that are crucial for managing form data, sessions, and cookies.

  • Arrays
  • Indexed Arrays
  • Associative Arrays
  • Multidimensional Arrays
  • Array Functions
  • Practice: PHP Array Quiz

5. Superglobals

Superglobals in PHP are built-in variables that are always accessible from any scope in a script. They provide useful information and data, like user input, server details, and session information.

  • Superglobal
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_GET
  • $_POST
  • Cookies
  • Sessions
  • $_FILES
  • $_ENV
  • Practice: PHP Superglobals Quiz

6. PHP File Handling

Working with files is a common task in many web applications. In this section, we will cover the techniques for reading, writing, uploading, and securing files in PHP.

  • PHP File Handling
  • PHP fopen( )
  • PHP readfile( ) 
  • PHP fwrite()
  • PHP fclose()
  • PHP unlink()
  • PHP file_exists()
  • Practice: PHP File Handling Quiz

7. PHP Forms

Learning how to securely handle user input is essential. This section will show you how to create forms, validate user input, and apply essential security measures like CSRF protection.

  • PHP Form Hanlding
  • PHP Form Validation
  • PHP Form Required
  • PHP Form URL/E-mail
  • Practice: PHP Forms Quiz

8. PHP Intermediate Projects

Continue to solidify your PHP knowledge by building intermediate-level projects. These projects will challenge you to apply your skills in more complex scenarios.

  • Project 3: Image Resizer in PHP
  • Project 4: Uploader in PHP
  • Project 5: Image Link Extractor in PHP
  • Project 6: Signup Form in PHP

9. PHP Object Oriented

PHP Object-Oriented Programming (OOP) allows you to structure your code using classes and objects, promoting code reusability, organization, and scalability.

  • PHP Classes and Objects
  • PHP Abstract Classes
  • PHP Access Modifiers
  • Constructors & Destructors
  • PHP Inheritance
  • PHP Polymorphism
  • PHP Traits
  • PHP Namespaces
  • Practice: PHP Object Oriented Quiz

10. Error Handling and Exception Handling

Error handling and exception handling in PHP allow you to manage runtime errors and exceptions effectively, ensuring smooth execution and providing a mechanism for graceful error recovery and debugging.

  • Error Reporting in PHP
  • Types of Errors
  • Throwing Custom Exceptions
  • Logging Errors and Debugging Techniques
  • Using set_error_handler() and trigger_error() for User-Defined Errors

11. PHP Testing and Debugging

Testing and debugging are essential skills for ensuring your code is reliable and error-free. This section introduces you to unit testing with PHPUnit, debugging tools, and effective debugging techniques.

  • Unit Testing with PHPUnit
  • Mocking and Stubbing in PHPUnit
  • Debugging PHP Code and Tools

12. PHP Advanced Projects

Now that you’ve covered most of the key PHP concepts, it’s time to work on some advanced projects to further strengthen your skills and gain hands-on experience:

  • Project 7: Admin Login Page in PHP
  • Project 8: Group Chat application in PHP
  • Project 9: Covid 19 Tracker in PHP

Best Approach to Learn PHP

You can complete this PHP tutorial in approximately 12 weeks.

  • In the first two weeks, you'll cover PHP basics, including variables, data types, and operators.
  • Week three will focus on functions, followed by beginner-level projects in weeks four and five.
  • Weeks six and seven will dive into arrays, superglobals, and session management.
  • Week eight will cover form handling and validation, while week nine will focus on file handling.
  • In week ten, you’ll work on intermediate projects, and week eleven will cover object-oriented programming concepts.
  • The final week will focus on error handling and advanced PHP concepts. By the end of the 12 weeks, you’ll have a strong foundation in PHP and be capable of building dynamic web applications.

PHP Cheat Sheet

The PHP Cheat Sheet is a quick and easy guide that shows the most important PHP concepts and code. It helps beginners and experienced developers find what they need fast without searching through long documents. Use it to write PHP code more quickly and easily. Keep it close while coding to make your work simpler!

Interview Questions

After completing all the sections of this tutorial, before heading to your interview, you can go through this section, which provides commonly asked PHP interview questions to test your knowledge and boost your confidence!

  • PHP Interview Questions and Answers (2025)

Libraries and Frameworks

PHP libraries and frameworks play an essential role in modern web development. They offer built-in functions and tools that enhance the functionality of web applications, making them more dynamic and interactive. Libraries handle common tasks such as database interactions, email sending, and file management, which allows developers to focus on core application logic.

php
PHP Tutorial - Libraries and Frameworks

PHP vs Other Programming Languages

Below is a comparison of PHP with the other some top backend development libraries and frameworks:

Feature

PHP

Python

NodeJS

Type

Interpreted

Interpreted

Interpreted

Paradigm

Multi-paradigm (procedural, object-oriented)

Multi-paradigm (object-oriented, procedural, functional)

Event-driven, non-blocking I/O, single-threaded

Memory Management

Automatic (Garbage collection)

Automatic (Garbage collection)

Automatic (Garbage collection)

Syntax

Simple

Simple

Simple

Use Cases

Web development, server-side scripting, CMS, e-commerce platforms

Web development, data analysis, machine learning, automation

Real-time applications, web development, APIs

Community Support

Strong

Strong

Strong

Performance

Moderate

Moderate

High (due to non-blocking I/O)

Concurrency

Synchronous (with blocking I/O)

Synchronous (with blocking I/O)

Asynchronous, event-driven

Notable Frameworks/Libraries

Laravel, Symfony, CodeIgniter, WordPress

Django, Flask

Express.js, NestJS, Koa.js

List of Companies Using PHP

These are some popular companies that use PHP in their workflow:

Company

Description

Facebook

Facebook's early versions and many back-end services were built using PHP.

GeeksforGeeks

GeeksforGeeks is built using PHP.

Wikipedia

Wikipedia uses PHP for creating dynamic content and managing its vast database.

Slack

Slack uses PHP for its server-side backend development and user interaction.

Etsy

Etsy relies on PHP for its e-commerce platform, handling product listings and transactions.

Tumblr

Tumblr uses PHP to power its dynamic blog platform and content management.

Yahoo

Yahoo uses PHP for web services and its dynamic content generation.

Shopify

Shopify uses PHP for e-commerce back-end services and integrating with various platforms.

Mailchimp

Mailchimp uses PHP to manage its email marketing services and customer data.

Career & Jobs in PHP

PHP offers a wide range of career opportunities, as it is one of the most popular server-side languages used in web development, particularly for building dynamic websites and applications. Here are some top career paths for PHP developers:

Career

Average Salary (INR) Per Annum

Average Salary (USD) Per Annum

PHP Developer

₹500,000 – ₹1,200,000

$60,000 – $110,000

Front-End Developer

₹600,000 – ₹1,400,000

$65,000 – $120,000

Full Stack Developer

₹700,000 – ₹1,500,000

$75,000 – $130,000

Back-End Developer

₹600,000 – ₹1,300,000

$70,000 – $125,000

Web Developer

₹500,000 – ₹1,200,000

$55,000 – $100,000

Laravel Developer

₹600,000 – ₹1,300,000

$70,000 – $125,000

Symfony Developer

₹700,000 – ₹1,600,000

$75,000 – $135,000

WordPress Developer

₹500,000 – ₹1,200,000

$55,000 – $100,000

PHP Software Engineer

₹500,000 – ₹1,500,000

$65,000 – $120,000


Next Article
PHP Introduction
author
kartik
Improve
Article Tags :
  • Web Technologies
  • PHP

Similar Reads

  • PHP Tutorial
    PHP is a widely used, open-source server-side scripting language primarily designed for web development. It is embedded directly into HTML and generates dynamic content on web pages, making it essential for building data-driven websites. It allows developers to handle database interactions, session
    9 min read
  • PHP Introduction
    PHP stands for Hypertext Preprocessor. It is an open-source, widely used language for web development. Developers can create dynamic and interactive websites by embedding PHP code into HTML. PHP can handle data processing, session management, form handling, and database integration. The latest versi
    8 min read
  • PHP Basics

    • How to install PHP in Windows 10?
      PHP is a general-purpose scripting language geared towards web development. It is an open-source software (OSS), which is free to download and use. PHP stands for "Hypertext Preprocessor". PHP files are saved with an extension called .php. It supports many databases MySQL, Oracle, etc.Installation o
      2 min read

    • How to Install PHP on Linux?
      PHP is a popular server-side scripting language that is especially used in web development. If you're working on a Linux environment, whether it's a personal development setup or a production server, you will likely need PHP installed. In this article, we will see the step-by-step guide to install P
      2 min read

    • PHP Syntax
      PHP, a powerful server-side scripting language used in web development. It’s simplicity and ease of use makes it an ideal choice for beginners and experienced developers. This article provides an overview of PHP syntax. PHP scripts can be written anywhere in the document within PHP tags along with n
      4 min read

    • How to write comments in PHP ?
      Comments are non-executable lines of text in the code that are ignored by the PHP interpreter. Comments are an essential part of any programming language. It help developers to understand the code, provide explanations, and make the codebase more maintainable. Types of Comments in PHPPHP supports tw
      1 min read

    • PHP Variables
      A variable in PHP is a container used to store data such as numbers, strings, arrays, or objects. The value stored in a variable can be changed or updated during the execution of the script.All variable names start with a dollar sign ($).Variables can store different data types, like integers, strin
      5 min read

    • PHP echo and print
      PHP echo and print are two most language constructs used for output data on the screen. They are not functions but constructs, meaning they do not require parentheses (though parentheses can be used with print). Both are widely used for displaying strings, variables, and HTML content in PHP scripts.
      4 min read

    • PHP Data Types
      In PHP, data types define the kind of value a variable can hold. PHP is a loosely typed language, meaning you don’t need to declare the data type of a variable. It is automatically assigned based on the value. But it is important to understand data types because it is important for writing reliable,
      4 min read

    • PHP Strings
      In PHP, strings are one of the most commonly used data types. A string is a sequence of characters used to represent text, such as words and sentences. Strings are enclosed in either single quotes (' ') or double quotes (" "). You can create a string using single quotes (' ') or double quotes (" ").
      4 min read

    PHP Array

    • PHP Arrays
      Arrays are one of the most important data structures in PHP. They allow you to store multiple values in a single variable. PHP arrays can hold values of different types, such as strings, numbers, or even other arrays. Understanding how to use arrays in PHP is important for working with data efficien
      5 min read

    • PHP Associative Arrays
      An associative array in PHP is a special array where each item has a name or label instead of just a number. Usually, arrays use numbers to find things. For example, the first item is at position 0, the second is 1, and so on. But in an associative array, we use words or names to find things. These
      4 min read

    • Multidimensional arrays in PHP
      Multi-dimensional arrays in PHP are arrays that store other arrays as their elements. Each dimension adds complexity, requiring multiple indices to access elements. Common forms include two-dimensional arrays (like tables) and three-dimensional arrays, useful for organizing complex, structured data.
      5 min read

    • Sorting Arrays in PHP
      Sorting arrays is one of the most common operation in programming, and PHP provides a several functions to handle array sorting. Sorting arrays in PHP can be done by values or keys, in ascending or descending order. PHP also allows you to create custom sorting functions.Table of ContentSort Array in
      4 min read

    PHP Constants

    • PHP Constants
      A constant is a name or identifier used to store a fixed value that does not change during the execution of a PHP script. Unlike variables, constants do not start with a $ symbol and stay the same once they are defined.Constants are immutable (cannot be changed after definition).They are global by d
      3 min read

    • PHP Constant Class
      The const keyword is used to declare a class constant. A constant is unchangeable once it is declared. The constant class declared inside the class definition. The class constant is case-sensitive. However, it is recommended to name the constants in all uppercase letters. Constant differ from normal
      2 min read

    • PHP Defining Constants
      In a production-level code, it is very important to keep the information as either variables or constants rather than using them explicitly. A PHP constant is nothing but an identifier for a simple value that tends not to change over time(such as the domain name of a website eg. www.geeksforgeeks.or
      2 min read

    • PHP | Magic Constants
      Magic constants in PHP are special built-in constants that provide information about the current state of the script, such as the file name, line number, function name, class name, and more. They always start and end with double underscores (__) and are automatically used in by PHP.Their values chan
      4 min read

    PHP Operators

    • PHP Operators
      In PHP, operators are special symbols used to perform operations on variables and values. Operators help you perform a variety of tasks, such as mathematical calculations, string manipulations, logical comparisons, and more. Understanding operators is essential for writing effective and efficient PH
      8 min read

    • PHP | Bitwise Operators
      The Bitwise operators is used to perform bit-level operations on the operands. The operators are first converted to bit-level and then calculation is performed on the operands. The mathematical operations such as addition , subtraction , multiplication etc. can be performed at bit-level for faster p
      5 min read

    • PHP | Ternary Operator
      If-else and Switch cases are used to evaluate conditions and decide the flow of a program. The ternary operator is a shortcut operator used for shortening the conditional statements. ternary operator: The ternary operator (?:) is a conditional operator used to perform a simple comparison or check on
      3 min read

    PHP Control Statements

    • PHP | Decision Making
      Decision-making is an important part of programming, allowing the program to execute different actions based on conditions. In PHP, decision-making helps control the flow of a program by executing different blocks of code depending on certain conditions or expressions. PHP provides several construct
      5 min read

    • PHP switch Statement
      The switch statement is similar to the series of if-else statements. The switch statement performs in various cases i.e. it has various cases to which it matches the condition and appropriately executes a particular case block. It first evaluates an expression and then compares it with the values of
      2 min read

    • PHP break (Single and Nested Loops)
      In PHP break is used to immediately terminate the loop and the program control resumes at the next statement following the loop. Method 1: Given an array the task is to run a loop and display all the values in array and terminate the loop when encounter 5. Examples: Input : array1 = array( 1, 2, 3,
      2 min read

    • PHP continue Statement
      The continue statement is used within a loop structure to skip the loop iteration and continue execution at the beginning of condition execution. It is mainly used to skip the current iteration and check for the next condition. The continue accepts an optional numeric value that tells how many loops
      1 min read

    PHP Loops

    • PHP Loops
      In PHP, Loops are used to repeat a block of code multiple times based on a given condition. PHP provides several types of loops to handle different scenarios, including while loops, for loops, do...while loops, and foreach loops. In this article, we will discuss the different types of loops in PHP,
      4 min read

    • PHP while Loop
      The while loop is the simple loop that executes nested statements repeatedly while the expression value is true. The expression is checked every time at the beginning of the loop, and if the expression evaluates to true then the loop is executed otherwise loop is terminated. Flowchart of While Loop:
      1 min read

    • PHP do-while Loop
      The do-while loop is very similar to the while loop, the only difference is that the do-while loop checks the expression (condition) at the end of each iteration. In a do-while loop, the loop is executed at least once when the given expression is "false". The first iteration of the loop is executed
      1 min read

    • PHP for Loop
      The for loop is the most complex loop in PHP that is used when the user knows how many times the block needs to be executed. The for loop contains the initialization expression, test condition, and update expression (expression for increment or decrement). Flowchart of for Loop: Syntax: for (initial
      2 min read

    • PHP foreach Loop
      The foreach loop in PHP is a powerful and convenient way to iterate over arrays and objects. The foreach loop though iterates over an array of elements, the execution is simplified and finishes the loop in less time comparatively. In this article, we will explore the foreach loop in detail, includin
      3 min read

    PHP Functions

    • PHP | Functions
      A function in PHP is a self-contained block of code that performs a specific task. It can accept inputs (parameters), execute a set of statements, and optionally return a value. PHP functions allow code reusability by encapsulating a block of code to perform specific tasks.Functions can accept param
      8 min read

    • PHP Arrow Functions
      PHP arrow functions are a shorthand syntax for anonymous functions. It was introduced in PHP 7.4, which provides a shorter way to write anonymous functions. They allow you to create functions with fewer lines of code while maintaining functionality. They provide an easy-to-read syntax, particularly
      5 min read

    • Anonymous recursive function in PHP
      Anonymous recursive function is a type of recursion in which function does not explicitly call another function by name. This can be done either comprehensively, by using a higher order function passing in a function as an argument and calling that function. It can be done implicitly, via reflection
      2 min read

    PHP Advanced

    • PHP Superglobals
      PHP superglobals are predefined variables that are globally available in all scopes. They are used to handle different types of data, such as input data, server data, session data, and more. These superglobal arrays allow developers to easily work with these global data structures without the need t
      6 min read

    • HTTP GET and POST Methods in PHP
      In this article, we will know what HTTP GET and POST methods are in PHP, how to implement these HTTP methods & their usage, by understanding them through the examples. HTTP: The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers. HTTP works as a r
      4 min read

    • PHP | Regular Expressions
      Regular expressions commonly known as a regex (regexes) are a sequence of characters describing a special search pattern in the form of text string. They are basically used in programming world algorithms for matching some loosely defined patterns to achieve some relevant tasks. Some times regexes a
      12 min read

    • PHP Form Handling
      Form handling is the process of collecting and processing information that users submit through HTML forms. In PHP, we use special tools called $_POST and $_GET to gather the data from the form. Which tool to use depends on how the form sends the data—either through the POST method (more secure, hid
      4 min read

    • PHP Date and Time
      PHP provides functions to work with dates and times, allowing developers to display the current date/time, manipulate and format dates, and perform operations like date comparisons, time zone adjustments, and more.In this article, we'll discuss PHP date and time.Why are Date and Time Important in PH
      5 min read

    • Describe PHP Include and Require
      In this article, we will see what include() & the require() functions is, also will know how these functions affect the execution of the code, their differences & usage in PHP, along with understanding their implementation through the examples. As we know PHP allows us to create various func
      3 min read

    • PHP File Handling
      In PHP, File handling is the process of interacting with files on the server, such as reading files, writing to a file, creating new files, or deleting existing ones. File handling is essential for applications that require the storage and retrieval of data, such as logging systems, user-generated c
      4 min read

    • PHP | Uploading File
      Have you ever wondered how websites build their system of file uploading in PHP? Here we will come to know about the file uploading process. A question which you can come up with - 'Are we able to upload any kind of file with this system?'. The answer is yes, we can upload files with different types
      3 min read

    • PHP Cookies
      A cookie is a small text file that is stored in the user's browser. Cookies are used to store information that can be retrieved later, making them ideal for scenarios where you need to remember user preferences, such as:User login status (keeping users logged in between sessions)Language preferences
      9 min read

    • PHP | Sessions
      A session in PHP is a mechanism that allows data to be stored and accessed across multiple pages on a website. When a user visits a website, PHP creates a unique session ID for that user. This session ID is then stored as a cookie in the user's browser (by default) or passed via the URL. The session
      7 min read

    • PHP Callback Functions
      In PHP, the callback functions are related to the dynamic behavior and flexibility in code execution. They are used to pass custom logic or functions as arguments to other functions, letting developers change how a function behaves without changing its main structure. This makes the code more reusab
      5 min read

geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

'); // $('.spinner-loading-overlay').show(); let script = document.createElement('script'); script.src = 'https://assets.geeksforgeeks.org/v2/editor-prod/static/js/bundle.min.js'; script.defer = true document.head.appendChild(script); script.onload = function() { suggestionModalEditor() //to add editor in suggestion modal if(loginData && loginData.premiumConsent){ personalNoteEditor() //to load editor in personal note } } script.onerror = function() { if($('.editorError').length){ $('.editorError').remove(); } var messageDiv = $('
').text('Editor not loaded due to some issues'); $('#suggestion-section-textarea').append(messageDiv); $('.suggest-bottom-btn').hide(); $('.suggestion-section').hide(); editorLoaded = false; } }); //suggestion modal editor function suggestionModalEditor(){ // editor params const params = { data: undefined, plugins: ["BOLD", "ITALIC", "UNDERLINE", "PREBLOCK"], } // loading editor try { suggestEditorInstance = new GFGEditorWrapper("suggestion-section-textarea", params, { appNode: true }) suggestEditorInstance._createEditor("") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } //personal note editor function personalNoteEditor(){ // editor params const params = { data: undefined, plugins: ["UNDO", "REDO", "BOLD", "ITALIC", "NUMBERED_LIST", "BULLET_LIST", "TEXTALIGNMENTDROPDOWN"], placeholderText: "Description to be......", } // loading editor try { let notesEditorInstance = new GFGEditorWrapper("pn-editor", params, { appNode: true }) notesEditorInstance._createEditor(loginData&&loginData.user_personal_note?loginData.user_personal_note:"") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } var lockedCasesHtml = `You can suggest the changes for now and it will be under 'My Suggestions' Tab on Write.

You will be notified via email once the article is available for improvement. Thank you for your valuable feedback!`; var badgesRequiredHtml = `It seems that you do not meet the eligibility criteria to create improvements for this article, as only users who have earned specific badges are permitted to do so.

However, you can still create improvements through the Pick for Improvement section.`; jQuery('.improve-header-sec-child').on('click', function(){ jQuery('.improve-modal--overlay').hide(); $('.improve-modal--suggestion').hide(); jQuery('#suggestion-modal-alert').hide(); }); $('.suggest-change_wrapper, .locked-status--impove-modal .improve-bottom-btn').on('click',function(){ // when suggest changes option is clicked $('.ContentEditable__root').text(""); $('.suggest-bottom-btn').html("Suggest changes"); $('.thank-you-message').css("display","none"); $('.improve-modal--improvement').hide(); $('.improve-modal--suggestion').show(); $('#suggestion-section-textarea').show(); jQuery('#suggestion-modal-alert').hide(); if(suggestEditorInstance !== null){ suggestEditorInstance.setEditorValue(""); } $('.suggestion-section').css('display', 'block'); jQuery('.suggest-bottom-btn').css("display","block"); }); $('.create-improvement_wrapper').on('click',function(){ // when create improvement option clicked then improvement reason will be shown if(loginData && loginData.isLoggedIn) { $('body').append('
'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.unlocked-status--improve-modal-content').css("display","none"); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status) }, }); } else { if(loginData && !loginData.isLoggedIn) { $('.improve-modal--overlay').hide(); if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) { $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click(); } return; } } }); $('.left-arrow-icon_wrapper').on('click',function(){ if($('.improve-modal--suggestion').is(":visible")) $('.improve-modal--suggestion').hide(); else{ } $('.improve-modal--improvement').show(); }); const showErrorMessage = (result,statusCode) => { if(!result) return; $('.spinner-loading-overlay:eq(0)').remove(); if(statusCode == 403) { $('.improve-modal--improve-content.error-message').html(result.message); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); return; } } function suggestionCall() { var editorValue = suggestEditorInstance.getValue(); var suggest_val = $(".ContentEditable__root").find("[data-lexical-text='true']").map(function() { return $(this).text().trim(); }).get().join(' '); suggest_val = suggest_val.replace(/\s+/g, ' ').trim(); var array_String= suggest_val.split(" ") //array of words var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val(); var error_msg = false; if(suggest_val != "" && array_String.length >=4){ if(editorValue.length <= 2000){ var payload = { "gfg_post_id" : `${post_id}`, "suggestion" : `${editorValue}`, } if(!loginData || !loginData.isLoggedIn) // User is not logged in payload["g-recaptcha-token"] = gCaptchaToken jQuery.ajax({ type:'post', url: "https://apiwrite.geeksforgeeks.org/suggestions/auth/create/", xhrFields: { withCredentials: true }, crossDomain: true, contentType:'application/json', data: JSON.stringify(payload), success:function(data) { if(!loginData || !loginData.isLoggedIn) { grecaptcha.reset(); } jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('.suggest-bottom-btn').css("display","none"); $('#suggestion-section-textarea').hide() $('.thank-you-message').css('display', 'flex'); $('.suggestion-section').css('display', 'none'); jQuery('#suggestion-modal-alert').hide(); }, error:function(data) { if(!loginData || !loginData.isLoggedIn) { grecaptcha.reset(); } jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Something went wrong."); jQuery('#suggestion-modal-alert').show(); error_msg = true; } }); } else{ jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Minimum 4 Words and Maximum Words limit is 1000."); jQuery('#suggestion-modal-alert').show(); jQuery('.ContentEditable__root').focus(); error_msg = true; } } else{ jQuery('.spinner-loading-overlay:eq(0)').remove(); jQuery('#suggestion-modal-alert').html("Enter atleast four words !"); jQuery('#suggestion-modal-alert').show(); jQuery('.ContentEditable__root').focus(); error_msg = true; } if(error_msg){ setTimeout(() => { jQuery('.ContentEditable__root').focus(); jQuery('#suggestion-modal-alert').hide(); }, 3000); } } document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){ jQuery('body').append('
'); jQuery('.spinner-loading-overlay').show(); if(loginData && loginData.isLoggedIn) { suggestionCall(); return; } // script for grecaptcha loaded in loginmodal.html and call function to set the token setGoogleRecaptcha(); }); $('.improvement-bottom-btn.create-improvement-btn').click(function() { //create improvement button is clicked $('body').append('
'); $('.spinner-loading-overlay').show(); // send this option via create-improvement-post api jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status); }, }); });
"For an ad-free experience and exclusive features, subscribe to our Premium Plan!"
Continue without supporting
`; $('body').append(adBlockerModal); $('body').addClass('body-for-ad-blocker'); const modal = document.getElementById("adBlockerModal"); modal.style.display = "block"; } function handleAdBlockerClick(type){ if(type == 'disabled'){ window.location.reload(); } else if(type == 'info'){ document.getElementById("ad-blocker-div").style.display = "none"; document.getElementById("ad-blocker-info-div").style.display = "flex"; handleAdBlockerIconClick(0); } } var lastSelected= null; //Mapping of name and video URL with the index. const adBlockerVideoMap = [ ['Ad Block Plus','https://media.geeksforgeeks.org/auth-dashboard-uploads/abp-blocker-min.mp4'], ['Ad Block','https://media.geeksforgeeks.org/auth-dashboard-uploads/Ad-block-min.mp4'], ['uBlock Origin','https://media.geeksforgeeks.org/auth-dashboard-uploads/ub-blocke-min.mp4'], ['uBlock','https://media.geeksforgeeks.org/auth-dashboard-uploads/U-blocker-min.mp4'], ] function handleAdBlockerIconClick(currSelected){ const videocontainer = document.getElementById('ad-blocker-info-div-gif'); const videosource = document.getElementById('ad-blocker-info-div-gif-src'); if(lastSelected != null){ document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.backgroundColor = "white"; document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.borderColor = "#D6D6D6"; } document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.backgroundColor = "#D9D9D9"; document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.borderColor = "#848484"; document.getElementById('ad-blocker-info-div-name-span').innerHTML = adBlockerVideoMap[currSelected][0] videocontainer.pause(); videosource.setAttribute('src', adBlockerVideoMap[currSelected][1]); videocontainer.load(); videocontainer.play(); lastSelected = currSelected; }

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences