如何使用$ _GET变量(index.php?cat = about)

I know there must already has this question been asked but I didn't find the answer cause I don't know how to search exactly what I want.

So, I wanna make such a link http://example.com/index.php?cat=about where I should insert some about info. But I don't know how to make a page with this URL containing ? symbol and other stuff, or how to edit that page then, where to edit and etc.

<a href="index.php?cat=about">About Us</a>

I've also made cat.php file but what next?

To store variable data in the url, you can use the query string. This is the portion of the url that immediately follows the protocol, domain name and file path

enter image description here

The query string begins with ? and may contain one or more parameter parameter value pairs. The parameter and parameter value are separated by =. Each pair is separated by &.

enter image description here

Let's suppose you do development for a tourism company called Gi Tours which provides content in 3 different languages. Because site visitors will want to be able to select their preferred language, you can provide flag images that will indicate a certain language and wrap those flags with the appropriate hyperlinks. Rather than writing out the full language name, you can simply assign id numbers to represent each like this:

enter image description here

<?php
echo "<a href=\"https://www.gitours.ge/index.php?lang=1\"><img src=\"img/ge.png\"></a>";
echo "<a href=\"https://www.gitours.ge/index.php?lang=2\"><img src=\"img/en.png\"></a>";
echo "<a href=\"https://www.gitours.ge/index.php?lang=3\"><img src=\"img/ru.png\"></a>";
?>

If a visitor clicks the second flag which loads this url: https://www.gitours.ge/index.php?lang=2, your index.php code can be written to extract the value assigned to lang by using $_GET["lang"].

If you write in your index.php file:

<?php
echo $_GET["lang"];
?>

Your code will display:

2

Or on your index.php file, you can easily generate dynamic page content using $_GET array data.

<?php
if(isset($_GET["lang"])){  // this checks if lang exists as a parameter in the url
    $lang=$_GET["lang"]){  // $lang will equal the value that follows lang=
}else{
    $lang=1;  // if there was no lang parameter, this sets the default value to 1
}

if($lang==2){
    // show English content
}elseif($lang==3){
    // show Russian content
}else{
    // show Georgian content
}
?>

This is, of course, a simplified demonstration; other techniques can be used to interact with the $lang value.

In your index.php file you can use the following:

if(isset($_GET['cat']) { // means if the user use the url with ?cat=something
    echo "<1>About {$_GET['cat']}</h1>"; //print the about of the cat as html
}

OK, Suppose you've two PHP files. page_a.php & page_b.php.

page_a.php

<?php
echo "<a href='page_b.php?cat=about'>Click Me</a>";

page_b.php

<?php
print_r($_GET); // Show all GET contents 
echo $_GET['cat']; // Show what content exist in 'cat' part of url

Hope, this will clear your doubt of how to send data in url from one page to another using GET mehtod.

@Lasha Palelashvili let suppose below example:

enter image description here

above you are sending only one input parameter cat through url to the index.php file at server side so when you send this data from url it will send by get method by default, if you want to get this url info(input parameter) at the php side so $_GET will help you to fetch that info $_GET is actually an array which stores your input parameter as key and input parameter's value as value for your case("index.php?cat=about") $_GET array will contain value like below:

$_GET = array("cat" => "about")

now at the server side you can easily get the value like:

//index.php
<?php
 $cat = $_GET["cat"];
 echo $cat;
?>