Esta es una de mis funciones favoritas, lo que hace es verificar si se envió un valor ya sea por POST o GET, si existe en cualquiera de los dos, devolverá el valor, caso contrario devolverá false o el valor que le agreguemos como segundo parámetro, además que limpia cualquier carácter que pueda ser un problema.
function getValue($key, $default_value = false)
{
if (!isset($key) || empty($key) || !is_string($key))
return false;
$ret = (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $default_value));
if (is_string($ret) === true)
$ret = urldecode(preg_replace('/((\%5C0+)|(\%00+))/i', '', urlencode($ret)));
return !is_string($ret)? $ret : stripslashes($ret);
}
esta función la uso por ejemplo para validar si se envió o no un input simplemente hago algo como:
$valor = getValue('nombre_control');
if ($valor)
{
//se envió un dato y puedo proceder a almacenarlo o validarlo
}
//o usarlo directamente
if (getValue('nombre_control'))
{
//se envió por ejemplo un botón y se que debo realizar una acción
}
como función adicional, le pongo esta que permite saber si se envió o no un valor con el método POST o GET, nos devolverá TRUE o FALSE según corresponde.
function isSubmit($submit)
{
return (
isset($_POST[$submit]) || isset($_GET[$submit])
);
}
Cabe resaltar que todas las funciones que menciono, las tengo en una clase y como funciones estáticas, por tanto las puedo llamar directamente así: MisFunciones::getValue()