miércoles, 5 de diciembre de 2018

Php 25. Acceso usuarios. Control acceso

En este video terminamos el proyecto, controlando el acceso del usuario a la web y manejando sesiones con Php.



index.php

<?php
require_once("php/limpiaTexto.php");
require_once("php/baseDatos.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1,width=device-width">
<meta name="keywords" content="acceso,usuarios,php,mysqli">
<link rel="stylesheet" href="css/estilos.css" type="text/css">
<title>Acceso Usuarios</title>
</head>
<body>
<header id="cabecera">
<nav id="navegacion">
<ul>
<li><a href="#">Inicio</a></li>
<li><a href="#">Acerca de</a></li>
</ul>
</nav>
</header>
<div id="contenido">
<section>
<article>
<div id="formulario">
<h1>Acceso usuarios</h1>
<?php
if(isset($_POST['nombre'])&& isset($_POST['clave'])){
$nombre=limpiaTexto($_POST['nombre']);
$clave=limpiaTexto($_POST['clave']);
$conexion=conectarBase();
$entra=accesoUsuario($conexion,$nombre,$clave);
if($entra){
if(session_status()!== PHP_SESSION_ACTIVE){
session_start();}
$_SESSION["autenticado"]="si";
$_SESSION["usuario"]=$nombre;
echo "<script>alert('Bienvenido.');
window.location.href=\"dentroUsuario.php\"</script>";
}else{
echo"<script>alert('Error, intentalo de nuevo.');
window.location.href=\"index.php\"</script>";
}
} else {?>
<form autocomplete="off" action="index.php" method="post" name="formulario">
<input type="text" name="nombre" required placeholder="Nombre"/><br/>
<input type="password" name="clave" required placeholder="Clave"/><br/>
<input type="submit" value="Entrar" class="boton"/>
</form>
</div>
<?php
}
?>
</article>
</section>
<aside></aside>
<footer id="pie">
<p>@Copyright ------</p>
</footer>
</div>
</body>
</html>
BaseDatos.php


<?php
require_once("codifica.php");
function conectarBase(){
$root="root";
$clave="";
$localhost="localhost";
$base="acceso";
$tabla="usuarios";
$mysqli=new mysqli($localhost,$root,$clave,$base);
return $mysqli;
}
//pruebas
$conectado=conectarBase();
if($conectado){
echo "conexion correcta";
}
function altaUsuario($mysqli,$nombre,$clave){
$key=codificar($clave);
$mysqli->query("INSERT INTO usuarios (id,nombre,clave) VALUES (NULL,'".$nombre."','".$key."')");
}
function accesoUsuario($conexion,$nombre,$clave){
$key=codificar($clave);
$consulta="SELECT * FROM usuarios WHERE nombre='".$nombre."'";
$resultado=$conexion->query($consulta);
if($resultado){
while(($columna=$resultado->fetch_assoc())){
$nombreTabla=$columna['nombre'];
$claveTabla=$columna['clave'];
if($nombre==$nombreTabla){
$entra=compara($claveTabla,$key);
if ($entra){
return true;
} else {
return false;
}
}
}
$resultado->free();
$conexion->close();
}else{
echo "sin resultados";
}
}
?>



sábado, 1 de diciembre de 2018

Php 24. Acceso Usuarios, conexion BD

En este video vemos como preparar las primeras funciones PHP, para conectar a la base de datos, usamos una funcion para poder guardar la clave codificada.



<?php
function limpiaTexto($texto){
$textoLimpio=strip_tags($texto);
$textoLimpio=trim($textoLimpio);
return $textoLimpio;
}
?>

<?php
function codificar($texto){
$mas="dkjfdkajKKKjd";
$textoCodificado=md5($texto.$mas);
return $textoCodificado;
}
function compara($textoBaseDatos,$textoUsuario){
if($textoBaseDatos==$textoUsuario){
return True;
}
else{
return False;
}
}
?>

<?php
require_once("codifica.php");
function conectarBase(){
$root="root";
$clave="";
$localhost="localhost";
$base="acceso";
$tabla="usuarios";
$mysqli=new mysqli($localhost,$root,$clave,$base);
return $mysqli;
}
//pruebas
$conectado=conectarBase();
if($conectado){
echo "conexion correcta";
}
?>

Php 23. Acceso Usuarios


En este video creamos la plantilla en html que nos servira para preparar la entrada de usuarios con php y mysql.
A esta plantilla le damos formato con el archivo css.
El siguiente video tendra codigo php para comenzar el proyecto.




Index

<head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1,width=device-width"> <meta name="keywords" content="acceso,usuarios,php,mysqli"> <link rel="stylesheet" href="css/estilos.css" type="text/css"> <title>Acceso Usuarios</title> </head> <body> <header id="cabecera"> <nav id="navegacion"> <ul> <li><a href="#">Inicio</a></li> <li><a href="#">Acerca de</a></li> </ul> </nav> </header> <div id="contenido"> <section> <article> <div id="formulario"> <h1>Acceso usuarios</h1> <form autocomplete="off" action="index.php" method="post" name="formulario"> <input type="text" name="nombre" required placeholder="Nombre"/><br/> <input type="password" name="clave" required placeholder="Clave"/><br/> <input type="submit" value="Entrar" class="boton"/> </form> </div> </article> </section> <aside></aside> <footer id="pie"> <p>@Copyright ------</p> </footer> </div> </body> </html>



Estilos Css
*{ margin:0 auto; color: white; padding:2px; font-family:sans-serif,Helvetica,Arial; text-decoration:none; } header,nav,section,article,aside,footer{ display:block; background:linear-gradient(200deg,orange,blue); } #cabecera{ height:auto; width:100%; margin-bottom:5px; padding:5px; } #navegacion{ padding:5px; margin:2px; text-align:center; } #navegacion li{ display:inline-block; text-align:center; padding:2px; margin:2px; } #navegacion li a{ background-color:orange; color:blue; text-decoration:none; padding:10px; } #navegacion li a:hover{ background-color:yellow; color:red; } #formulario{ display:block; text-align:center; margin:10px; padding:5px; } input[type="text"],input[type="password"]{ border-radius:5em; color:blue; padding:2px; margin:5px; } .boton{ border-radius:5em; color:blue; padding:2px; margin:5px; width:120px; } #pie{ margin-top:5px; padding:5px; font-size:0.5em; }

Enlace video instalacion WampServer

miércoles, 27 de julio de 2016

Php - 22. Formulario de contacto

Ejemplo de codigo para crear un formulario de contacto con php que nos envie un email a la direccion de email que indiquemos en el codigo.

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-secale=1.0">
<meta name="author" content="Jose Ojeda (ticoticotaa)">
<meta name="keywords" content="formulario contacto">
<meta name="description" content="mi descripcion del documento">
<title>Formulario contacto - Ticoticotaa</title>
</head>
<body>
<header>
<h1>FORMULARIO DE CONTACTO</h1>
<nav>
<ul>
<li><a href="index.php">Incio</a></li>
<li><a href="acercade.html">Acerca de</a></li>
<li><a href="contacto.php">Contacto</a></li>
</ul>
</nav>
</header>
<section>
<article>
<div id="contacto">
<h1>Contacto</h1>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Nombre</label>
<input name="nombre" type="text"/><br>
<label>Email</label>
<input name="email" type="text"/><br>
<label>Mensaje</label>
<textarea name="mensaje" rows="10" cols="50"></textarea><br>
<input type="submit" value="Enviar"/>
<input type="reset" value="Borrar"/>
</form>

<?php
if ((!isset($_POST['email']))&&(!isset($_POST['nombre']))){
   
}else{
    $nombre=htmlentities($_POST['nombre']);
    $email=htmlentities($_POST['email']);
    $mensajeOrg=htmlentities($_POST['mensaje']);
    $destino="ticoticotaa@gmail.com";
   
    $mensaje="Mensaje del formulario de Ticoticotaa";
    $mensaje.="\nNombre: ".$nombre;
    $mensaje.="\nEmail: ".$email;
    $mensaje.="\nMensaje: ".$mensajeOrg;
   
    $header="FROM: $email";
    $asunto="Ticoticotaa, mensaje de  ".$email;
    @mail($destino,$asunto,$mensaje,$header);
    if(($nombre=="")&&($email=="")){
        echo"<h1>Rellena el formulario</h1>";
    }else {
        echo"<h1>Mensaje enviado</h1>";
    }
    $nombre="";
    $email="";
}
?>

</div>
</article>
<aside>
<h1>Redes sociales</h1>
</aside>
</section>
<footer></footer></body></html>
En rojo pongo el codigo php donde procesamos las variables obtenidas del formulario y las preparamos para incluirlas en la funcion @mail de php que realiza el envio del email.
En verde pongo el codigo html donde se prepara el formulario, indicando que se llama a la misma pagina con SELF y mediante codigo php se evalua si ya se han enviado las variables del formulario o no.
El codigo es sencillo, si teneis duda no dudeis en consultarme.
Os indico web donde tengo realizado una pagina de contacto similar en Ticoticotaa.
Tambien os pongo video explicando este codigo aqui:


Espero sea util. Gracias.

viernes, 8 de julio de 2016

lunes, 27 de junio de 2016

Video Archivo Externo Conexion MySql

En este video muestro como crear un archivo php con la configuracion para poder conectar a una base de datos mysql.
Espero os sea util, gracias.


Video Modificar datos en MySql

En este video realizamos la conexion y la modificacion de datos desde una pagina Php a MySql.
Espero os sea util. Gracias.