Conditional Page Content With Browser URL
The URL in the browser's address bar may have a "?" character followed by keyboard characters. When that is the case, what follows the "?" can be used to determine what content to publish or not to publish on that web page.
Let's suppose we have a web page at https://example.com/page.php
and we want to publish certain content when ?gift
is appended to the URL.
This is the code to use.
<?php if( isset($_GET['gift']) ): ?> special text when .../page.php?gift is in the browser's address bar. <?php endif; ?>
Something else that can be done is to publish certain content only when the ?gift
is missing from the URL in the browser's address bar.
Here is an example.
<?php if( ! isset($_GET['gift']) ): ?> special text when .../?gift is missing from the URL in the browser's address bar. <?php endif; ?>
The only difference in the two examples is the !
character in the second example. In PHP, !
means "not" when applied to variables.
That's how simple it is.
Of course, it doesn't have to be ?gift
that is appended to the URL. It can be any other value following the "?" character. Like ?AnythingElse
The Amateur Feedback page is an example. I was coding that page and I thought, "Hmm, I bet Possibilities readers would like to know this technique."
The page has two versions. There is a major section that is included in both versions.
One version includes content above and below the main section. That is for artists. .../amateurfeedback.php
When ?feedback
is appended to the URL, only the major section remains. That is for folks who want to know how best to provide feedback to artists.
.../amateurfeedback.php?feedback
It is simple code. And is handy to have in a developer's toolbox, whether you only develop your own website or you also help others.
(This content first appeared in Possibilities newsletter.)
Will Bontrager