Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[Curso PHP] Lección #2 (parte 1º)
#1
En esta lección 2 vamos a entrar de lleno en la programación php. Elaboraremos un sistema de autentificación de usuarios usando bases de datos, sesiones y cookies desarrollándolo con php.

Para no agobiar demasiado las lecciones las iré publicando por partes. De esta manera, si se producen dudas en cada una de las partes siempre será más sencillo darle solución de esta forma.

Lo primero será crear una base de datos o usar una ya existente y crear una tabla a la q llamaremos usuarios. Dentro de esta tabla crearemos 3 campos:
Al primer campo le llamaremos id y será de tipo integer y autoincremental
El segundo campo se llamará nombre de tipo varchar(32)
Y el tercero se llamará pass, también de tipo varchar(32).

Para terminar, el campo id lo estableceremos como índice primario.

Cuando ingresamos a un sitio web mediante un usuario/contraseña, se crea una sesión y/o una cookie q nos permitirá ser reconocidos por el servidor mientras estemos navegando por sus páginas. Cuando la sesión y/o la cookie expire o forcemos un logout, dejaremos de ser recordados por el servidor y nos impedirá acceder a las páginas q antes podíamos visitar.

Nuestro sistema de login va a usar sesiones y cookies. De esta manera aprenderemos su funcionamiento.

Crearemos un archivo independiente q contendrá todas las funciones q iremos necesitando. Será algo así como el "core", el núcleo, el corazón de nuestra aplicación. Iremos programando el script siguiendo el flujo normal de ejecución para q podamos ir entendiendo paso a paso a medida q lo vamos desarrollando.

Pero antes de crear este "núcleo" vamos a crear un archivo index q será nuestro ejemplo de página web protegida.

Empezamos!

Creamos un archivo de texto plano al q llamaremos index.php. En su interior escribimos:
Código:
<?php
    session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>  
  <meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>Skylium.net - Curso de PHP</title>
</head><body>
<?php
    session_start();
    require_once("funciones.php");

    if (check_registrado() == False) {
        echo "Sólo los usuarios registrados pueden ver esta página";
        die();
    }
?>
Este es el contenido protegido de nuestra(s) página(s) web
</body></html>

Explicamos:
Empezamos el script y en su interior encontramos session_start() q indicará al servidor q vamos a inicializar una sesión. Esta función debe ir ANTES de q se produzca cualquier salida producida por el script. Es decir, si hiciéramos un echo "hola" antes de session_start() obtendríamos un error. Por eso lo hemos colocado antes incluso q la cabecera html.

La cabecera "<!DOCTYPE html...." es la cabecera típica html q nos servirá para definir correctamente nuestra salida de código como un html válido además de definir la tabla de caracteres correcta para poder visualizar las tildes y caracteres especiales.

require_once es una sentencia q indica al servidor q queremos incluir dentro de nuestro script un archivo llamado funciones.php. Pero sólo lo incluirá si no ha sido incluido antes. Esto impedirá q un mismo archivo sea incluido dos o más veces innecesariamente. En resúmen, es como si metiéramos todo el contenido de funciones.php en la línea de require_once.

Y por último, tenemos una condición IF. En este caso se evalúa el valor q devolverá la función check_registrado. Esta función aún no existe. La crearemos un poco más adelante.

Una función es un "mini-script" q hace "algo", lo q sea. A las funciones pueden pasárseles parámetros y de ellas puede obtenerse un resultado. Por ejemplo:

Código:
function sumar($a, $b) {
    return $a + $b;
}

Si llamamos a la función sumar de esta forma: sumar(2, 3) Estamos pasándole los valores 2 y 3 como parámetros. Dicha función sumará los valores y devolverá (return) su resultado. Por lo q la siguiente línea:
$c = sumar(2, 3);

Hará q la variable $c tenga el valor 5.

Y después de esta introducción fugaz a las funciones en php proseguimos....

Bien, estábamos evaluando el resultado de la función check_registrado() y si su resultado es False mostrará el texto "Sólo los usuarios registrados pueden ver esta página" y por último añadimos un die(). die() hará q nuestro script finalice ahí, sin más!

Y finalmente terminamos nuestro script con ?> y escribimos el contenido q queremos proteger de nuestra página seguido de las etiquetas pertinentes para cerrar el formato html.

Sube este archivo index.php a tu servidor web. Si accedes a él obtendrás un error diciendo q el archivo "funciones.php" no existe. Lógico! En la segunda parte de esta lección dos lo crearemos.

Hasta aquí la primera parte de la lección 2.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#2
wow,muchas gracias Mine lo estudiaré a fondo Guiño. En cuanto a lo de no poder poner html como codigo usando ls tags ["code"] y ["/code"] Debe ser consecuencia de algun scripten php que hayas implemntado o de la configuración del htacces Guiño
WWW
#3
papi escribió:Debe ser consecuencia de algun scripten php que hayas implemntado o de la configuración del htacces Guiño
Me temo q es algo más complejo. Aquí comento el problema: <!-- l --><a class="postlink-local" href="http://foro.skylium.net/post5935.html#p5935">post5935.html#p5935</a><!-- l -->
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#4
Uff, pues eso si que es una faena. A ver si los del hosting pueden arreglarlo, ya que seria ideal el hacerlo bien dentro de los bbcodes correspondientes Guiño
WWW
#5
te felicito Minenage buen curso sobre php yo no puedo seguir con el curso de fundamento de programación ya que asta que no se publique en una revista donde estoy creando ese curso no puedo ponerlo ya que quieren la exclusiva
http://www.codigocero.ucoz.es
#6
jesuli escribió:te felicito Minenage buen curso sobre php yo no puedo seguir con el curso de fundamento de programación ya que asta que no se publique en una revista donde estoy creando ese curso no puedo ponerlo ya que quieren la exclusiva
No hay problema jesuli... Cuando puedas, tengas tiempo y quieras puedes publicar el contenido q quieras y veas oportuno.
[Imagen: firmabp.jpg][Imagen: mineenlineaentregadispo.jpg]
WWW
#7
Me uno a las palabras de Mine.Cuando, comoy lo que tu quieras so golfante Lengua
WWW
#8
Gracias Mine... Me lo iré mirando Guiño
WWW
#9
ya sabe papi donde publico eso artículos en la revista que ya conocer y me veo obligado a reserva de momento esa exclusiva para la revista.
Si,lose. No te preocupes.Aqui nos tienes cuando puedas y tengas un ratito que y se que estas mu atareao con todos esos proyectos. Yo siento no pasarme mas por alli, pero mis proyectosme lo impiden por lopronto Guiño
http://www.codigocero.ucoz.es


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  [Tutorial] Curso de PSD a HTML a WP habacuc78 14 684 31-08-2016, 09:33 PM
Último mensaje: ServiRemate
  Curso básico de introducción a la programación Posits 1 280 04-08-2016, 02:48 AM
Último mensaje: antony_tj
  [Aporte] Curso básico de Javascript habacuc78 22 936 05-07-2016, 03:53 PM
Último mensaje: escuelasegura
  [Tutorial] Trucos con CSS parte I JancoBH 2 397 13-03-2016, 01:00 AM
Último mensaje: JancoBH
  [Aporte] Curso completo Bootstrap habacuc78 10 555 06-02-2016, 04:50 AM
Último mensaje: habacuc78
  Curso C++: Ejemplo 1 Samo30 2 553 27-06-2014, 01:42 AM
Último mensaje: Samo30
  Curso C++: Ejemplo 2 Samo30 0 1,846 19-06-2014, 06:07 AM
Último mensaje: Samo30
  Curso C++: 6.- Estructuras cíclicas, while, do while y for Samo30 0 1,638 16-06-2014, 01:28 AM
Último mensaje: Samo30
  Curso C++: 5.- Estructuras de selección if y switch Samo30 5 573 11-06-2014, 08:48 PM
Último mensaje: MPH
  como dominar CSS sin salir del escritorio parte 1 postnix 20 2,167 02-06-2014, 12:33 PM
Último mensaje: piinbook



Usuarios navegando en este tema: 1 invitado(s)