What is the best practice for passing variables through GET parameters in a URL in PHP?

When passing variables through GET parameters in a URL in PHP, it is important to properly sanitize and validate the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. One common practice is to use the `urlencode()` function to encode the variables before appending them to the URL. Additionally, it is recommended to use `filter_input()` function to retrieve and validate the input data.

// Retrieve and sanitize input data
$variable1 = filter_input(INPUT_GET, 'variable1', FILTER_SANITIZE_STRING);
$variable2 = filter_input(INPUT_GET, 'variable2', FILTER_VALIDATE_INT);

// Encode variables before appending to URL
$url = 'http://example.com/script.php?variable1=' . urlencode($variable1) . '&variable2=' . urlencode($variable2);

// Redirect to the URL
header('Location: ' . $url);
exit;