Snippet
Pegalo al principio del archivo. Crea variables con el mismo nombre que la key.
<?php
// Variables GET → variables planas
foreach ($_GET as $k => $v) {
$$k = $v;
}
// Variables POST → variables planas
foreach ($_POST as $k => $v) {
$$k = $v;
}
// Ejemplo: misitio.com/archivo.php?usuario=cristalab
echo "Hola, " . htmlspecialchars($usuario);
?>
Importante: seguridad
Esta práctica era cómoda pero no se recomienda en código nuevo. Equivale al desactivado register_globals y permite que un atacante inyecte variables vía URL. En sistemas nuevos, accedé siempre a $_GET[…], $_POST[…], filtrá con filter_input() y escapá con htmlspecialchars() al imprimir.
Versión defensiva
Si necesitás migrar un sitio viejo pero querés bloquear nombres reservados:
<?php
$ef_reservados = ['_GET', '_POST', '_REQUEST', '_COOKIE', '_SESSION', '_SERVER', '_ENV', '_FILES', 'GLOBALS'];
foreach (array_merge($_GET, $_POST) as $k => $v) {
if (in_array($k, $ef_reservados, true)) continue;
if (!preg_match('/^[a-zA-Z_][a-zA-Z0-9_]*$/', $k)) continue;
$$k = is_string($v) ? trim($v) : $v;
}
?>