Reading GET Variable Values Without Knowing The Variable Name / Key

I recently ran into an issue where I needed the values from GET variables, but I did not know what the variables name was. The problem was related to the Facebook API. The API used PHP to get the current URL, but the current URL was rewritten using Apaches Mod Rewrite, making it an invalid URL (technically). To overcome this I needed a way to regenerate the URL of the page without knowing how many GET variables there were going to be and what they would be called. After a bit of messing around this is what I came up with.

E.G. You have a rewritten URL that looks like the following
http://example.net/page/123/345.html

This URL works with Apache, but it is not a proper URL that another website can understand without having the information to map the variable names.  The code snippet below will take a URL that you have rewritten using mod rewrite or any other method and output it as a URL with the GET variables present.

You will need to replace the name of the URL to the url of your website. If you run this on any page it will generate the full URL of your page.

http://example.net/page/123/345.html   =>   http://example.net/page.php?var1=123&var2=345

$filename = $_SERVER['PHP_SELF'];
$url = $filename;
if(isset($_GET))
{
  $url = $url."?";
  $counter = 0;
  foreach($_GET as $var => $value)
  {
    if($counter != 0)
    {
      $url = $url."&";
    }
    $url = $url."&".$var."=".$value;
    $counter ++;
  }
}
$currentUrl = "http://example.net".$url;

Related Articles

Related Questions

Feeling Trapped as a Front-End Developer Forced into DevOps

Hey everyone! I've been a front-end developer for 11 years, and while I've been doing a bit of full-stack work, I've recently been pushed...

How Can Beginners Start Earning Money with Programming?

Hey everyone! I've recently jumped into the world of programming, and it's quite a shift from my previous field. I've always been interested in...

Why Can’t My Parents’ Old LCD TVs Play Movies from USB?

I'm trying to get some movies into a USB drive to share with my parents, but they have older LCD TVs that aren't smart...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Tools

Erase Gemini Nano Banana Watermark

Below is a simple content eraser tool. It works very similar to the content aware fill tool that is used in Photoshop. You can...

Keep Your Screen Awake Tool

This simple online stay awake tool prevents your computer screen from going to sleep while you have this page open. It runs entirely in your...

Neural Network Simulation Tool

The Neural Network Visual Builder is an interactive, client-side tool designed to demystify deep learning. It allows users to drag-and-drop neural network layers to...

Ray Trace Simulator – Interactive Optical Ray Tracing Tool

This ray trace simulator lets you visualise how light rays move through an optical system in real time. You can trace beams as they...

Interactive CPU Architecture Simulator

This is an Interactive CPU Architecture Simulator that provides a hands-on, visual learning experience for understanding how a processor executes code. It models a...

AI Image Upscaler

Our AI Image Upscaler allows you to upload any image and instantly increase its resolution using advanced upscaling models. Choose between 2x, 3x or...

Latest Posts

Latest Questions