Estás en la versión internacional Acceder al sitio de Argentina

Obtener variables GET y POST automáticamente en PHP

Útil al migrar código antiguo (PHP 4) que llamaba variables como $usuario en lugar de $_POST['usuario'].

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;
}
?>