Calendario emergente Date-Picker. ¡Muy bueno!

El calendario emergente que os propongo se llama “Date-Picker”, y os puedo asegurar que es bastante profesional.  Os paso un enlace que muestra una demo en funcionamiento del calendario: Demo Date-Picker

Podeis descargarlo desde la web del autor, pero el enlace de descarga está un poco escondido, así que si lo preferis, podeis hacerlo desde aqui directamente:  Descargar date-picker

Validar boolean en php con FILTER_VALIDATE_BOOLEAN

Para validar una variable de tipo boolean utilizaremos el filtro FILTER_VALIDATE_BOOLEAN. Este filtro lo utilizaremos junto con la función filter_var, y nos devolverá:

  • TRUE: si la variable toma valor 1, on, true o yes.
  • FALSE: en caso contrario.

Veamos un ejemplo:

$var=$_POST['var'];
$resultado=filter_var($var,FILTER_VALIDATE_BOOLEAN);

Se puede usar junto con la opción FILTER_NULL_ON_FAILURE. En este caso, la función devolverá:

  • TRUE: si la variable toma valor 1, on, true o yes.
  • FALSE: si la variable toma valor 0, off, false, no.
  • NULL: en caso contrario.

Aquí tenemos otro ejemplo utilizando la opción FILTER_NULL_ON_FAILURE:

$var=$_POST['var'];
$resultado=filter_var($var,FILTER_VALIDATE_BOOLEAN,FILTER_NULL_ON_FAILURE);

Para ver un ejemplo en funcionamiento: Ver ejemplo del filtro FILTER_VALIDATE_BOOLEAN

Validar email en php

Con la función que os voy a enseñar varias líneas más abajo aprenderemos a validar el correo electrónico que el usuario introduce en un formulario. Cuando hablo de validar me refiero a comprobar que se ha introducido el correo electrónico con el formato correcto, (no confundir con comprobar que el correo existe…).

Para ello utilizaremos el filtro FILTER_VALIDATE_EMAIL y la función filter_input

Codigo

//Se muestra el formulario donde insertaremos el correo
<form action="" method="POST">
  Correo: <input type="text" name="correo" value="" />
  <input type="submit" name="enviar" value="Enviar"/>
</form>

//Si se ha pulsado en enviar, recogemos los datos
<?php
if(isset($_POST['enviar'])){
  if(!$correo=filter_input(INPUT_POST, 'correo', FILTER_VALIDATE_EMAIL))
    echo "Me estas tomando el pelo!";
  else
    echo "El correo es válido";
}
?>

La función filter_input recibe varios parámetros:

  • En el primer parámetro utilizaremos INPUT_POST o INPUT_GET dependiendo de como se envien los datos del formulario.
  • El segundo parámetro se refiere al nombre de la etiqueta “input” de nuestro formulario. En nuestro formulario hemos llamado a la etiqueta “correo”, si tuviesemos varios “inputs” en el formulario, aquí especificaríamos a cual nos referimos.
  • El tercer parámetro se refiere al filtro que vamos a utilizar. En php existen varios filtros, tanto para validar como para sanear. En nuestro caso, como vamos a validar el correo, utilizamos FILTER_VALIDATE_MAIL.

Nota

Para mas informacion sobre los filtros en php: Filtros en php

Ver ejemplo en funcionamiento

Obtener URL de la pagina actual con PHP

A lo largo de nuestra carrera como desarrollador es posible que tengamos que obtener la URL de la página que tenemos abierta. Con este ejemplo os presento una de las mil millones de formas de hacerlo. Os invito de camino a echarle un vistazo a la variable $_SERVER de PHP.

Ver ejemplo en funcionamiento

Código

Nos creamos una función como la siguiente:

<?php
function dameURL(){
$url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
return $url;
}
?>
  • $_SERVER['HTTP_HOST']: Sirve para obtener el nombre del dominio.
  • $_SERVER['SERVER_PORT']: Sirve para obtener el puerto.
  • $_SERVER['REQUEST_URI']: Sirve para obtener la URI.

Para mostrar la URL actual, llamamos a la función que nos acabamos de crear de la siguiente manera:

echo dameURL();

Se aceptan sugerencias y comentarios :)

Generar contraseña aleatoria en PHP

Vamos a crear nuestro propio generador de contraseñas en PHP, ¡en solo 10 líneas de código!

La idea es muy sencilla y consiste en situarnos en una posición aleatoria de una cadena de caracteres previamente definida, tantas veces como número de caracteres queremos tener en nuestra contraseña.

Este código es util para muchas cosas. Desde para renovar la contraseña de un usuario de nuestra Web, hasta para generar un captcha.

Me remito al código:

<?php
function generaPass(){
	//Se define una cadena de caractares. Te recomiendo que uses esta.
	$cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
	//Obtenemos la longitud de la cadena de caracteres
	$longitudCadena=strlen($cadena);
	
	//Se define la variable que va a contener la contraseña
	$pass = "";
	//Se define la longitud de la contraseña, en mi caso 10, pero puedes poner la longitud que quieras
	$longitudPass=10;
	
	//Creamos la contraseña
	for($i=1 ; $i<=$longitudPass ; $i++){
		//Definimos numero aleatorio entre 0 y la longitud de la cadena de caracteres-1
		$pos=rand(0,$longitudCadena-1);
	
		//Vamos formando la contraseña en cada iteraccion del bucle, añadiendo a la cadena $pass la letra correspondiente a la posicion $pos en la cadena de caracteres definida.
		$pass .= substr($cadena,$pos,1);
	}
	return $pass;
}

Para mostrar la contraseña llamamos a la función que acabamos de crear de la siguiente manera:

 echo generaPass();

Ver ejemplo en funcionamiento