martes, 19 de enero de 2016

Login PHP + MySQL (Html5 + jQuery)

Bienvenido Internauta.! :) 

Ahora te enseñare como hacer una ventana de login o acceso a usuarios con una aplicación desarrollada en PHP + MySQL + Html5 + jQuery, todo lo aremos de una manera muy sencilla, recuerda que para esto debes de tener ya configurado tu ambiente de desarrollo y saber como realizar una conexión a la base de datos de MySQL, si no sabes como hacerlo puedes ver mis artículos anteriores donde te enseño como hacerlo.



Muy Bien Pues Comencemos :) ..!


1.- Creación de formulario y validación de campos (jQuery)

Vamos a utilizar la librería de jQuery que le podemos decir que es algo así como el javascript moderno.


Crea una nueva carpeta para tu proyecto dentro de "C:\xampp\htdocs" yo la llamare login y dentro de ella creare una carpeta llamada js donde y dentro de ella guarda el archivo como jquery.js hasta el momento así se ve mi proyecto. 


El motivo de esto es comenzar a aprender a ordenar nuestras librerías de javascript, estilos css, librerías php, funciones etc tranquilo mas adelante aprenderemos esto.

Por ahora ya tenemos la carpeta del proyecto y la librería que usaremos ahora a comenzar a programar. Abrimos nuestro editor de texto preferido ( Sublime Text en mi caso, yo ya configure mi carpeta de proyecto por default)  y crearemos el archivo index.php con el siguiente código: 

<html>
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="js/jquery.js"></script><!--ESTA LINEA IMPORTA LA LIBRERIA DE JQUERY QUE ESTA EN LA CARPETA JS-->
        <title>Login PHP + MySQL</title>
    </head>
    <body>
    <div id="formulario">
   <form id="miformulario" method="POST" action="">
    <p><label>Usuario*: <input type="text" id="usuario" name="usuario" /></label></p>
    <p><label>Clave*: <input type="text" id="clave" name="clave" /></label></p>
    <p><input type="button" id="enviar" value="Enviar"></p>
   </form>
</div>
<div id="exito" style="display:none"><!--Div Oculto que se mostrara con jQuery en caso de Exitoso-->
            Sus datos han sido recibidos con éxito.
        </div>
        <div id="fracaso" style="display:none"><!--Div Oculto que se mostrara con jQuery en caso de Error-->
            Se ha producido un error durante el envío de datos.
        </div>
    </body>
</html>

Hasta el momento el archivo nos quedaría así: 


Ahora ejecutamos en navegador http://localhost/login y obtenemos la siguiente vista:


Ahora veamos como usar jQuery para validar y hacer el envió de información, esto se divide en dos pasos, la función que valida el formulario y la función que hace el envió de datos a un documento php que nos regresara una respuesta. Para empezar el código completo seria el siguiente: 

<html>
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="js/jquery.js"></script><!--ESTA LINEA IMPORTA LA LIBRERIA DE JQUERY QUE ESTA EN LA CARPETA JS-->
        <title>Login PHP + MySQL</title>
        <script>
        function validaForm(){ //Creamos la funcion que valida los campos
        if($("#usuario").val() == ""){ //El campo con id = usuario validamos si esta vacion
        alert("El campo Nombre es Requerido"); //Mensaje de Alerta
        $("#usuario").focus(); //Regresarmos el cursor al campo
   return false; //Terminamos la ejecucion del Javascript 
}
if($("#clave").val() == ""){
alert("El campo Clave es Requerido");
   $("#clave").focus();
   return false;
}
   return true; // Si todo está correcto
}
$(document).ready( function() { // Esta parte del código se ejecutará automáticamente cuando la página esté lista.
   $("#enviar").click( function() {     // Con esto establecemos la acción por defecto de nuestro botón de enviar.
       if(validaForm()){                               // Primero validamos el formulario. Llamamos la Funcion
           $.post("enviar.php",$("#miformulario").serialize(),function(res){
               $("#miformulario").fadeOut("slow");   // Hacemos desaparecer el div "formulario" con un efecto fadeOut lento.
               if(res == 1){
                   $("#exito").delay(500).fadeIn("slow");      // Si hemos tenido éxito, hacemos aparecer el div "exito" con un efecto fadeIn lento tras un delay de 0,5 segundos.
               } else {
                   $("#fracaso").delay(500).fadeIn("slow");    // Si no, lo mismo, pero haremos aparecer el div "fracaso"
               }
           });
       }
   });    
});
   </script>
    </head>
    <body>
    <div id="formulario">
   <form id="miformulario" method="POST" action="">
    <p><label>Usuario*: <input type="text" id="usuario" name="usuario" /></label></p>
    <p><label>Clave*: <input type="text" id="clave" name="clave" /></label></p>
    <p><input type="button" id="enviar" value="Enviar"></p>
   </form>
</div>
<div id="exito" style="display:none"><!--Div Oculto que se mostrara con jQuery en caso de Exitoso-->
            Sus datos han sido recibidos con éxito.
        </div>
        <div id="fracaso" style="display:none"><!--Div Oculto que se mostrara con jQuery en caso de Error-->
            Se ha producido un error durante el envío de datos.
        </div>
    </body>
</html>

El código agregado nos muestra como se genera la función que valida el formulario, y la función que envía los datos a un archivo llamado enviar.php que mas adelante construiremos la función javascript se ve de la siguiente manera: 

El código completo se ve de la siguiente manera: 

Si ejecutamos esto en el navegador http://localhost/login veremos el siguiente comportamiento:


El campo que este vació nos mostrara el mensaje 


Ahora ya sabes validar campos con jQuery :) ..!! Fácil no ?

2.- Envió de formulario por POST y búsqueda de registro en una tabla de MySQL

A lo largo de estos tutoriales tratare de ir desarrollando una sola aplicación en conjunto así que de una vez generare una base de datos que utilizare a lo largo de todos mis artículos, así que comencemos.

Primero generaremos una base de datos, yo en mi caso llamare phpmas y creare una tabla llamada TblUsuarios dejare imagen de la estructura y el script de creación:

Nota : Si no sabes como utilizar el archivo aquí te enseño como Importar Base desde archivo


El usuario para mi ejemplo sera mariano y la contraseña sera lopez123 con esto ya podemos continuar con el tutorial.

Para esto vamos a crear el archivo enviar.php que es el archivo que llama la función de javascript 


Primeramente haremos la conexión a la base de datos con el siguiente código

$conexion = mysqli_connect("localhost","root","");
if(!$conexion){
    $conexion="<p>Error en la Conexion: ".mysqli_error($conexion)."</p>";
}else{
    mysqli_select_db($conexion,"phpmas");
    mysqli_query($conexion,'set names "utf-8"');
}

posteriormente recibiremos las variables que enviamos por método POST fijémonos en la función javascript que este método es usado, lo subraye en color rojo.

El código a utilizar para recibir las variables es el siguiente

$usuario = $_POST['usuario'];
$clave = $_POST['clave'];

Ahora ejecutamos una consulta utilizando las variables recibidas, yo leería la consulta de la siguiente manera "Tráeme a todos los registros de la tabla TblUsuarios CUANDO usuario sea igual al usario que te indico y clave sea igual a la clave que te indico " 

$consulta = "SELECT * FROM tblusuarios  WHERE usuario = '$usuario' and clave = '$clave' ";
$resul = mysqli_query($conexion,$consulta); 
    if(!$resul){
            $resul = "ERROR:".mysqli_error($conexion)."\n\r".$consulta; 
        }

Ahora con una función de php contaremos cuantos registros trae el resultado

mysqli_num_rows($resul)


Utilizamos echo para que ese sea el valor que devuelva la ejecución del archivo enviar.php el codigo completo quedaría así:

<?php
$conexion = mysqli_connect("localhost","root","");
if(!$conexion){
    $conexion="<p>Error en la Conexion: ".mysqli_error($conexion)."</p>";
}else{
    mysqli_select_db($conexion,"phpmas");
    mysqli_query($conexion,'set names "utf-8"');
}

//$usuario = $_POST['usuario'];
//$clave = $_POST['clave'];
$usuario = "mlopez";
$clave = "lopez123";

$consulta = "SELECT * FROM tblusuarios  WHERE usuario = '$usuario' and clave = '$clave' ";
$resul = mysqli_query($conexion,$consulta); 
    if(!$resul){
            $resul = "ERROR:".mysqli_error($conexion)."\n\r".$consulta; 
        }

echo mysqli_num_rows($resul)
?>


Si todo lo hicimos correctamente el resultado deberá ser uno entonces si analizamos la función de javascript nos dice que si el resultado es 1 nos mostrara el mensaje "Sus datos han sido recibidos con éxito." 



Si el resultado es 0 nos mostrara el siguiente mensaje "Se ha producido un error durante el envío de datos."


Recordemos que nuestro usuario para la prueba era mlopez y la clave lopez123 entonces ejecutemos nuestro código en el navegador y primero mandare un error.


Ahora mandare los datos correctos :).!


Al final yo solo mostré un mensaje, pero puedes hacer múltiples acciones, como mostrar otro formulario, direccionamiento a otra pagina, etc etc.! el ejemplo solo fue demostrativo.!

:)


No olvides escribirme a : gismodelta79@gmail.com 
También puedes seguirme en mis redes oficiales:
Instagram: Mariano Balderas
Facebook: Mariano Balderas
Twitter: @MarianoBOficial

lunes, 18 de enero de 2016

Conexión PHP+MySql y Primer Ejemplo

Para poder comenzar con este tutorial previamente deberás haber configurado tu ambiente de desarrollo de PHP y MySQL, si no sabes como puedes visitar mi post anterior. Instalación y Pruebas.
Si ya lo tienes creado, adelante.! :) 
1.- Herramientas de Desarrollo 
Editor de Texto
Las herramientas de desarrollo siempre van a depender del gusto de cada quien, yo por mi parte siempre recomiendo un editor de texto muy potente y muy liviano que se llama Sublime Text el cual puedes descargar desde su pagina oficial.
Nota: Es una instalación muy sencilla por lo cual no pondré imágenes de instalación. 
Gestión de Base de Datos
Para los que ya saben sobre el tema, XAMPP por su parte trae una herramienta para la gestión de base de datos a la cual se puede acceder mediante la siguiente dirección en el navegador http://localhost/phpmyadmin/



Yo por mi parte utilizo un programa llamado "MySQL Query Browser" para conectarme al servidor de bases de datos, este lo puedes descargar desde la pagina oficial:
Nota: No pongo imágenes de instalación ya que es muy sencillo el proceso
Una vez instalada la herramienta ejecutaremos la aplicación y nos resultara una pantalla como la siguiente, en la cual deberemos de introducir 3 parámetros:
  • Servidor (Server Host : localhost ) 
  • Usuario (Username : root)
  • Contraseña (Password : vacio )
Damos clic en OK y nos mostrara la ventana siguiente:
2.- Creación de Base de Datos, Tabla e Inserción de Registros
Haciendo clic derecho en el área blanca de la derecha (bases de datos) damos clic en Create New Schema y se abrirá una nueva ventana donde crearemos la base de datos prueba damos clic en ok e inmediatamente veremos creada nuestra base de datos.


Vamos a crear una tabla llamada "tabla_prueba" con 3 campos:

  • id : INTEGER autoincrementable (AUTO INC PALOMEADO)
  • nombre : VARCHAR
  • edad : INTEGER



Una vez creada la tabla damos doble clic sobre ella y en la ventana del lado izquierdo se mostrara una consulta sql

Nuevamente damos doble clic en la tabla en el panel de navegación que se encuentra del lado derecho, o bien usamos la combinación de teclas Ctrl + E para ejecutar la consulta que se encuentra en el panel de lado izquierdo, ahore vemos el resultado de la consulta (por el momento vació), 


Para hacer la inserción de un registro daremos clic en la parte de abajo del campo donde vallamos a capturar el dato y oprimimos F2 para que aparezca el cursor y comencemos a capturar.


Los campos capturados se verán en color verde. Una vez introducidos los datos daremos clic en Apply Changes para guardad los cambios


3.- Conexión  a Base de Datos Mediante PHP
Hasta el momento deberemos de tener una base de datos llamada prueba y una tabla llamada tabla_prueba con el numero de registros que nosotros ya hemos capturado ( para nuestro ejemplo solamente uno ).

Ahora realizaremos un nuevo proyecto en PHP, para esto vamos a crear una nueva carpeta dentro de "C:\xampp\htdocs" lo llamaremos "pruebaconexion" y quedara de la siguiente manera: 


Ahora vamos a configurar nuestro editor de texto para trabajar sobre la carpeta del proyecto. Nos dirigimos a File/Open Folder y ubicamos el siguiente directorio "C:\xampp\htdocs\pruebaconexion" damos clic en aceptar
Ahora podemos que en sublime ya tenemos la carpeta por defecto que es la de nuestro proyecto


Creamos un archivo con el siguiente código
<?php
//Primero definiremos los parámetros Servidor/Usuario/Contraseña/Base de Datos y asignaremos la cadena de conexión a una variable 
$conexion = mysqli_connect("localhost","root","",'sealn');
//Con un IF verificamos que la variable $conexion nos devuelca algo en caso de tener un error que nos lo muestre
if(!$conexion){
    $conexion="<p>Error en la Conexion: ".mysqli_error($conexion)."</p>";
}else{
//Si la conexion es correcta ahora seleccionamos la base y la codificaion de caracteres 
    mysqli_select_db($conexion,"prueba");
    mysqli_query($conexion,'set names "utf-8"');
    echo "La Conexion y La seleccion de Base de Datos es Correcta.!";
}
?>
Guardamos el archivo como index.php y se vera de la siguiente forma

Ahora ejecutamos en el navegador  http://localhost/pruebaconexion
Hasta aquí ya tenemos la conexión a la base de datos.! ahora vamos a enviar una consulta al servidor y el resultado lo pintamos en una tabla. Editamos el archivo index.php de la siguiente manera agregando lo siguiente al código:


Guardamos el archivo y ejecutamos nuevamente en navegador http://localhost/pruebaconexion
No olvides escribirme a : gismodelta79@gmail.com 
También puedes seguirme en mis redes oficiales:
Instagram: Mariano Balderas
Facebook: Mariano Balderas
Twitter: @MarianoBOficial

Instalación y Pruebas PHP + MySQL ( XAMPP )

Bienvenido Internauta.!
Si eres nuevo en el ambiente de desarrollo, no te preocupes :) utilizare conceptos muy básicos para que comiences en el mundo de la programación.
Listo? Ahí Vamos.!
1.- Instalación de PHP 
Descarga XAMPP desde web oficial 

Una vez descargado solo ejecuta el archivo obtenido para comenzar la instalación (yes/ok para cualquier advertencia) 


Siguiente, Siguiente, Siguiente hasta terminar :)...
Ya casi terminas ") , ahora solo esperar a que se instale y al finalizar ejecutas XAMPP. Si todo ha resultado correctamente encontraras un resultado como el de la imagen, y solo deberas iniciar los servicios oprimiendo los botones "Start" para Apache y MySql 
Si todo va como lo esperamos deberás tener este resultado

2.- Pruebas
Para poder corroborar que la instalación se hizo de manera correcta, abre tu navegador preferido y entra a la siguiente direccion http://localhost y deberas de ver la pagina principal de xampp

Ahora veremos la ejecución de nuestro primer archivo .php para esto dirijete a la siguiente carpeta de archivos "C:\xampp\htdocs" y crea una carpeta que se llame prueba 
Ahora Abrimos un Bloc de Notas y escribimos el siguiente codigo y lo guardamos en la carpeta antes creada con el nombre index.php
echo "Mi Primer Archivo PHP";
?>
Por ultimo para verificar el proceso anterior nos dirigiremos a nuestro navegador nuevamente e introduciremos la siguiente dirección http://localhost/prueba, si todos los pasos anteriores están correctos, veras el siguiente resultado. Felicidades.! ya tienes tu ambiente de desarrollo preparado para comenzar a programar.

No olvides escribirme a : gismodelta79@gmail.com 
También puedes seguirme en mis redes oficiales:
Instagram: Mariano Balderas

Donaciones ") :