Tironemota

php y MySQL

php y MySQL

Base de datos 16/03/2023

Base de datos: rmotasco_tironemota

Tabla usuarios
idUsuarionombreemailusuarioclavefechanivel
1José ManriqueJoseman@gmail.comJosemanJoseman28/05/20179
2Tomás Ríosriostomas@hotmail.comtfr12541254tfr17/06/20172
3María Ana Ríosmariana@gmail.commaria784maria78415/08/20173
4Ana Santana Ríossantana@gmail.comanamgonanamgon25/08/20171

Conexión a Base de Datos 15/03/2023

Requerimos de:

Archivo conexion.php

  • <?php
  • // Datos de acceso con el nombre de su proyecto para conectarnos a la base de datos.
  • $hostname = "localhost"; //Hosting de la base de datos.
  • $database = "rmotasco_tironemota"; //Nombre de la base de datos.
  • $username = "rmotasco_temn53"; //Nombre de usuario de la base de datos.
  • $password = "TemN1953"; //Contraseña de la base de datos.
  • $conex = mysqli_connect($hostname,$username,$password, $database);
  • /* comprobar la conexión */
  • if (mysqli_connect_errno()) {
  • printf("Fallo la conexion: %s\n", mysqli_connect_error());
  • exit();
  • }
  • // Indicamos el cotejamiento con el que trabajara
  • mysqli_set_charset($conex, 'utf8');
  • ?>

Otra

  • <?php
  • // Datos de acceso con el nombre de su proyecto para conectarnos a la base de datos.
  • $hostname = "localhost"; //Hosting de la base de datos.
  • $database = "rmotasco_tironemota"; //Nombre de la base de datos.
  • $username = "rmotasco_temn53"; //Nombre de usuario de la base de datos.
  • $password = "TemN1953"; //Contraseña de la base de datos.
  • $conex = new mysqli($hostname,$username,$password, $database);
  • // Indicamos el cotejamiento con el que trabajara
  • $conex->set_charset("utf8");
  • // SI FALLA LA CONEXION
  • if ($conex->connect_error) {
  • die("la conexión ha fallado: " . $conex->connect_error);
  • }
  • ?>

Login 15/03/2023

Requerimos de:

Archivo inicio.php

  • <?php
  • // CREAMOS SESSION
  • session_start();
  • // SI NO EXISTE USUARIO REDIRECCIONO
  • if (empty($_SESSION["id"])) {
  • header("location: login.php");
  • }
  • ?>
  • <!DOCTYPE html>
  • <html lang="es">
  • <head> ... </head>
  • <body>
  • <nav>
  • <div>
  • <!-- MUESTRO NOMBRE DEL USUARIO -->
  • <?php echo $_SESSION["nombre"] . " " . $_SESSION["apellido"]; ?>
  • </div>
  • <div>
  • <!-- BOTON CERRAR SESSION -->
  • <a href="controlador/controlador_cerrar_session.php">Salir</a>
  • </div>
  • </nav>
  • <div> CONTENIDO <div>
  • </body>
  • </html>

Archivo controlador_cerrar_session.php

  • <?php
  • // CREO SESSION
  • session_start();
  • // DESTRUYO LA SESSION
  • session_destroy()
  • // REDIRECCIONO
  • header("location: ../login.php");
  • ?>

Archivo controlador_login.php

  • <?php
  • // INICIAR SESSION
  • session_start():
  • // SI PULSAN EL BOTON INGRESAR
  • if (!empty($_POST["btningresar"])) {
  • // VERIFICO QUE FUNCIONE EL CONTROLADOR
  • echo "Botón presionado";
  • // SI EL USUARIO Y CONTRASEÑA FUERON INGRESADOS
  • if(!empty($_POST["usuario"]) and !empty($_POST["password"])){
  • // ALMACENO LOS DATOS EN UNA VARIABLE
  • $usuario=$_POST["usuario"];
  • $password=$_POST["password"];
  • // CONSULTAMOS LA BASE DE DATOS
  • $sql=$conexion->query(" select * from usuario='$usuario' and clave='$password' ");
  • // SI EL USUARIO EXISTE
  • if ($datos=$sql -> fetch_object()) {
  • // ALMACENO LOS DATOS EN VARIAVLES DE SESSION
  • $_SESSION["id"]=$datos->id;
  • $_SESSION["nombre"]=$datos->nombres;
  • $_SESSION["apellido"]=$datos->apellidos;
  • // MUESTRO LA PAGINA
  • header("location: inicio.php");
  • } else {
  • // CASO CONTRARIO MUESTRO MENSAJE
  • echo "<div class='alert alert-danger'>Acceso denegado</div>";
  • }
  • } else {
  • echo "Campos vacíos";
  • }
  • }
  • ?>

Archivo login.php

  • <form method="post" action="">
  • <img src="img/avatar.svg">
  • <h2>BIENVENIDO</h2>
  • <?php
  • // LLAMAMOS NUESTRA CONEXION
  • include "conex/conexión.php";
  • // LLAMAMOS EL CONTROLADOR DEL BOTON
  • include "controlador/controlador_login.php"
  • ?>
  • <div>
  • <div>Avatar de usuario</div>
  • <div>
  • <h5>Usuario</h5>
  • <input id="usuario" type="text" class="input" name="usuario">
  • </div>
  • </div>
  • <div>
  • <div>Avatar de candado</div>
  • <div>
  • <h5>Contraseña</h5>
  • <input type="password" id="input" class="input" name="password">
  • </div>
  • <div>
  • <!--BOTON VER PASSWORD IMAGEN OJO-->
  • <div class="img-ojo-verPassword" onclick="vista()" id="verPassword"></div>
  • </div>
  • </div>
  • <div>
  • <a href="">Olvidé mi contraseña</a>
  • <a href="registro-usuario.php">Registrarse</a>
  • </div>
  • <input name="btningresar" class="" type="submit" value="INICIAR SESION">
  • </form>

Como Hacer un LOGIN AVANZADO con PHP y MYSQL

Registro de Usuarios 16/03/2023

Requerimos de:

Archivo estilos.css

ERROR. Uno de los campos está vacío
ERROR. No se pudo guardar el registro
Usuario registrado correctamente
  • .alertaForm{
  • padding:0.3em;
  • text-align:center;
  • -moz-border-radius:4px;
  • -webkit-border-radius:4px;
  • -khtml-border-radius:4px;
  • border-radius:4px;
  • width:80%;
  • margin:auto;
  • margin-bottom:1em;
  • }
  • .alertaError{
  • background:#ffebe7;
  • border:1px solid #f9a08f;
  • color:#c6361a;
  • }
  • .alertaExiste{
  • background:#eaffc0;
  • border:1px solid #a3cd52;
  • color:#405e07;
  • }
  • .formRegistro{margin:auto;width:400px;}

Archivo controlador_registrar_usuario.php

  • <?php
  • // SI EL BOTON FUE PRECIONADO
  • if (!empty($_POST["registro"]) {
  • if (empty($_POST["nombre"]) or empty($_POST["apellido"]) or empty($_POST["usuario"]) or empty($_POST["clave"])) {
  • //MUESTRO MENSAJE
  • echo '<div class="alertaForm alertaError">Uno de los campos está vacío</div>';
  • } else {
  • // SI EXISTEN TODOS LOS DATOS, LOS GUARDAMOS
  • $nombre=$_POST["nombre"];
  • $apellido=$_POST["apellido"];
  • $usuario=$_POST["usuario"];
  • $clave=$_POST["clave"];
  • // CONSULTO LA BASE DE DATOS
  • $sql=$conexion->query("insert into usuario ( nombres, apellidos, usuario, clave ) values ( '$nombre', '$apellido', '$usuario', '$clave' ) ");
  • // COMPROBAR QUE LA SENTENCIA SE CUMPLE
  • if (&sql == 1) {
  • echo '<div class="alertaForm alertaExiste">Usuario registrado correctamente</div>';
  • } else {
  • echo '<div class="alertaForm alertaError">ERROR. No se pudo guardar el registro</div>';
  • }
  • }
  • }
  • ?>

Archivo registro_usuario.php

  • <body>
  • <div>
  • <form action="" method="post">
  • <h2>REGISTRAR</h2>
  • <?php
  • // LLAMO LA CONEXION Y EL CONTROLADOR
  • include("conex/conexion_bd.php");
  • include("controlador/controlador_registrar_usuario.php");
  • ?>
  • <div>
  • <div>
  • <label for="">Nombres</label>
  • <input type="text" name="nombre">
  • </div>
  • <div>
  • <label for="">Apellidos</label>
  • <input type="text" name="apellido">
  • </div>
  • <div>
  • <label for="">Usuario</label>
  • <input type="text" name="usuario">
  • </div>
  • <div>
  • <label for="">Contraseña</label>
  • <input type="text" name="clave">
  • </div>
  • <div>
  • <input class="boton" type="submit" value="Registrar" name="registro">
  • <a href="login.php">Salir</a>
  • </div>
  • </div>
  • </form>
  • <div>
  • </body>

Registro de Usuarios

Buscador 17/03/2023

Requerimos de:

Archivo buscador.php

Buscador PHP & MySQL

  • // GUARDAMOS LA PalabraClave EN UNA VARIABLE
  • // USAMOS LA FUNCION explode(), PARA ALMACENARLO COMO ARRAY,
  • // PARA SEPARAR PALABRA POR PALABRA
  • $Buscar = explode(" ", $_POST['PalabraClave']);
  • $query ="SELECT * FROM usuario WHERE nombres like '%" . $Buscar[0] . "%' OR apellidos like '%" . $Buscar[0] . "%'";
  • for($i = 1; $i < count($Buscar); $i++) {
  • if(!empty($Buscar[$i])) {
  • $query .= " OR descripcion like '%" . $Buscar[$i] . "%'";
  • }
  • }

Nota: Si el sistema no encuentra resultados mostrara el siguiente mensaje.

Buscador PHP & MySQL

Has buscado la palabra clave: Tomás Manrique
Resultados encontrados: Ninguno

La siguiente imagen muestra la búsqueda con palabras clave 'María', 'Manrique'

Buscador PHP & MySQL

Has buscado la palabra clave: María Manrique
Resultados encontrados: Ninguno

idNombresApellidos
1JoséManrique
3María JosefaManrique
4Ana MaríaGonzález

Para que muestre las informaciones de la base de datos y lo imprima en el navegador.

  • <?php
  • if (isset($_POST["PalabraClave"])){
  • $number=0;
  • while($row = mysqli_fetch_assoc($result)) {
  • $number++;
  • ?>
  • <div>
  • <div><strong><?php echo $number;?> . <?php echo $row["nombres"]; ?><strong></div>
  • <div><strong><?php echo $row["pellidos"]; ?><strong></div>
  • </div>
  • <?php }
  • $total = mysqli_num_rows($result);
  • if($total==0){
  • echo 'Resultados encontrados: <strong>Ninguno</strong>';
  • } else {
  • echo 'Hay un total de '.$total.' resultados en su busqueda';
  • }
  • } else {
  • echo"<div><strong>Ingrese la palabra clave a buscar.</strong></div>";
  • }
  • ?>

TRABAJANDO