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()