Hoy acabo de lanzar el sorteo o concurso como lo queráis llamar.
De DESYRepara edición 2017.
como en otros años, lo he hecho en lenguaje SQL y C, esta vez lo hago a través de XHTML y PHP incluyendo un poquito de CSS.
Lo primero de todo es descargarse el pack XAMMP, que nos incluye el servidor Web Apache y Mysql.
Estos dos servicios los debemos de activar una vez instalado el Xammp.
Además los documentos que crearemos a teravés de un editor como puede ser Notepad++, hay que incluirlos en la carpeta htdocs, que encontrarás dentro de c:\XAMMP.
Después hemos de abrir el documento creado y guardado con extensión .php , desde un explorador o navegador porniendo la ruta : localhost/nombredelarchivo.php y clic a intro.
Si todo ha ido bien, se ejecutará tu archivo. si dá algún error, revisa las líneas que indican según el tipo de error que tenga.
Os dejo un enlace al vídeo que he subido para que veáis mejor el ejemplo.
Y aquí os dejo los links a los concursos de años pasados.
Enhorabuena al ganador/a y el año que viene suerte para el resto.
En este lo que hice fue ejecutar procedimiento con 3 variables en Lenguaje C.
Y mostrar el resultado del aleatorio con la función Rand() a partir de un Switch (En caso de).
Y un bucle para que recorre un único número premiado al azar entre el 1 y el 10.
Finalmente ordeno escribir el número que ha salido de forma aleatoria y lo introducimos obteniendo así al ganador/a que le corresponde ese número en el listado del Switch(En caso de).
Este año he realizado el programa en lenguaje SQL: creo una bbdd nueva a través de PHPmyAdmin ( se puede hacer en consola o Workbench entre otros...).
A esa bbdd le creo una tabla con los campos: ID(Autonumerico) que será el campo clave primaria, y los campos Nombre y Apellidos que serán tipo VARCHAR(texto).
A partir de esta tabla añado tantos registros como clientes dispongo con un INSERT INTO.
Y finalmente creo la consulta que me dará el nombre de los ganadores/as de este año.
Hace poco empece el proyecto final de curso de Grado Superior en Administración de Sistemas.
El proyecto de mi grupo trata sobre un Proxy de Aula, pero tenía la idea de poder añadirle algo de biometria en los accesos.
Bien., estuve mirando algunas posibilidades, pero finalmente no podría hacer nada porqué en todos los casos es necesario un terminal biometrico o un aparato de lectura de huella digital (y todo esto se escapa de nuestras posibilidades económicas).
Aun así me gustaría exponer aquí algunas partes de un programa que estuve probando. Muy chulo, aunque para que funcione al 100% es necesario hacerse con el terminal biometrico ( unos 650 €).
Nos descargamos el programa, y iniciamos la instalación ....
Como véis en la siguiente foto es necesario instalar un servidor Mysql que será el encargado de acumular los datos en Bases de Datos.
Iniciamos la instalación del Servidor.
Elegimos instalación típica.
click en Instalar
Tardará un rato largo.
Le damos a Next en las siguientes pantallas.
Y empezamos a configurar el Mysql
En este paso seleccionamos configuración detallada.
Ahora Elegimos Base de datos multifuncional
A continuación escribimos el path del programa
Elegimos el máximo de conexiones hacía el servidor, como manual y ponemos 15
Habilitamos un puerto tcp/ip
y no
olvidar marcar la casilla de : activar una regla de firewall para permitir las
conexiones
En el siguiente paso: seleccionamos manual -- utf8 referente al
español
para ir finalizando le ponemos contraseña de usuario
root y añadimos la opción de añadir un usuario anonimo para
acceder. para hacer pruebas posteriormente.
Le damos a Ejecutar y si todo va bien ....
click a finalizar
Ahora:
le damos a instalar face id drivers y aparecerá una ventana de información que
nos dice:
Para terminar click en instalar bio securitas
Seguimos los pasos indicados por el asistente de instalación.
y.....
Llego el momento de la verdad....
iniciamos programa.
Vamos a inicio--> todos los programas ---> Dactilplus Biometria
Realizamos la activación, de momento solo podemos clic
a evaluación de prueba.
Ponemos nuestro email y nombre.
Nos informa de que disponemos de 30 días de prueba
Cerramos y volvemos a abrir, para que funcione correctamente el programa.
Nos aparece un mensaje que dice: "No se creo la base de datos, click en aceptar para crearla."
Y click en Aceptar.
Aquí ponemos el nombre del servidor " localhost", y la contraseña del super usuario.
click a crear base de datos para finalizar la operación.
Nos informa de que es necesario reiniciar el programa después de esta operación.
Con darle click a Aceptar se cierra todo automáticamente.
Abrimos de nuevo y ahora veremos:
ponemos un código a el usuario admin y al usuario estándar.
Ahora podemos dirigirnos a: la pestaña: departamentos, nos pedirá el
codigo de admin
Desde aquí podemos crear nuevos departamentos:
Podemos ir a pestaña departamentos-->secciones y añadir nuevas secciones
vamos a pestaña usuarios --> lista de usuarios-->
clic en modificar (abajo) y podemos añadir nuevos usuarios
y una vez introducidos los datos le damos a guardar
podemos
ir a configuración -- terminales biométricos
Aquí, es donde deberíamos poner la Ip de el terminal biométrico (aparato para identificación facial).
También podemos ir a la pestaña Horarios --> crear nuevo horario
Y unas cuantas opciones más, pero para ello, hemos de disponer tanto del software como del aparato para reconocimiento facial.
CREACIÓN DE UNA TABLA CON MOTOR DE ALMACENAMIENTO MyIsam (NO TRANSACCIONAL)
INSERTAMOS 3 REGISTROS, EN LA ANTERIOR TABLA YA CREADA:
BORRAR REGISTROS DE UNA TABLA Y MOSTRAR RESULTADOS POR PANTALLA
AL SER TIPO MyIsam NO TRANSACCIONAL, no sigue las pautas de una transacción normal.
Por lo general hay que hacer un COMMIT; para aplicar los cambios, pero como MyIsam es NO TRANSACCIONAL, lo aplicará tanto si hacemos COMMIT como si no.
PARA DESHACER cambios, antes de haber hecho un COMMIT; se ha de poner ROLLBACK; esto deshace los cambios en una tabla de motor TRANSACIONAL como en un InnoDB, pero en una MyIsam. Tampoco tendrá resultados.
PARA COMPROBAR EL ESTADO DEL AUTOCOMMIT:
- SHOW VARIABLES LIKE 'AUTOCOMMIT';
SI QUEREMOS DESACTIVARLO:
-SET AUTOCOMMIT=0;
SI QUEREMOS ACTIVARLO:
-SET AUTOCOMMIT=1;
PARA HACER UNA TABLA CON AUTOCOMMIT=0, SIN DESACTIVARLO:
En vez de BEGIN; usamos la sintaxis START TRANSACTION;
START TRANSACTION ;
INSERT INTO molinero_myisam VALUES (3,'Brian',25);
COMMIT;
PARA CAMBIAR UN MOTOR DE ALMACENAMIENTO A OTRO EN UNA TABLA YA CREADA:
ALTER TABLE (si ja estaba creada anteriorment) molinero_myisam ENGINE=InnoDB;
CREACIÓN DE UNA VISTA:
CREATE VIEW vista_molinero;
AS SELECT nom_cli,nif,telefon
FROM clients;
SELECT * FROM taula_molinero;
MODIFICAR UNA VISTA:
ALTER VIEW taula_molinero
AS SELECT nom_cli,nif,telefon,ciutat
FROM clients;
SELECT * FROM taula_molinero;
CREAR UN USUARIO Y VER SUS PERMISOS:
CREATE USER vista_molinero IDENTIFIED BY 'r123';
SHOW GRANTS FOR vista_molinero;
HACER QUE EL USUARIO CREADO SOLO TENGA PERMISOS PARA TRABAJAR CON LA VISTA CREADA
GRANT ALL PRIVILEGES
ON dbuoc.taula_molinero
TO vista_molinero;
Instala el XAMPP O WAMPP i activa Mysql
Per a que funcioni bé el terminal del Mysql: primer de tot anem a equipo ----> propiedades.
Configuración avanzada del sistema---->variables de entorno
En variables del sistema busca el path.Doble clic para acceder
Afegeix ; al final de la linia actual i copia i pega la direcció del teu XAMPP , al final un ; per terminar
(la direcció del teu XAMPP, esta en C:\XAMPP\mysql\bin , copia esta ruta en el path , añade un ; y aplica)
Ara ja podràs accedir amb el cmd , des del terminal
Per més info consultar también:
Sentencias SQL BBDD MySQL inicios MySQL Workbench
1. Consulta quins usuaris hi ha creats a MySQL. Digues quins són i des de quina màquina poden connectar-se. Es poden consultar les seves contrasenyes?
use mysql;
SELECT USER FROM USER;
només esta root.
si si consultem els privilegis d'usuari amb SHOW GRANTS FOR 'root'; ens surt la contrasenya xifrada.
2. Crea un usuari que pugui connectar-se des de qualsevol màquina anomenat 'teu_nom' (posa-hi el teu nom) i amb contrasenya 'laboratori'. Comprova i mostra amb l'ordre d'abans que apareix el nou usuari.
Entrem a la base de dades mysql: use mysql;
CREATE USER 'desy'@' ' IDENTIFIED BY 'laboratori';
li posem a Login name :desy, deixem el simbol % al limit conectivity i li posem una password, en aquest cas laboratori;
per consultar els usuaris creats:
SELECT USER FROM USER;
3. Consulta els privilegis del nou usuari i explica'ls. Digues també des de quina o quines màquines es pot connectar.
SHOW GRANTS FOR ' desy ';
es pot conectar des de qualsevol màquina. per que té el % com a host
1. Obre el Workbench, connecta't amb el teu servidor MySQL amb privilegis d'administrador i ves a la pestanya d'usuaris/es. Quins usuaris hi ha fets, des quina o quines màquines es poden connectar i quins rols administratius tenen? Què vol dir el símbol “%” referit als usuaris?
el usuario root, i el Desy que hem creat abans. Es conecta desde localhost 127.0.0.1, el simbol % serveix per a que el compte d'usuari es pugui conectar des de qualsevol màquina.
root, te marcats tots els rols administratius perquè es l'usuari administrador i té accés a tots els rols.
mentres que Desy, per defecte no té cap marcat per qué és un usuari estándar.
2. Fes l'usuari/a “teu-nom-1” amb contrasenya “teu-nom-1”. Dona-li privilegis per fer nous usuaris/es i posar noves contrasenyes. Escriu aquí les ordres SQL que mostra el Workbench per a aquests privilegis. Captura una pantalla.
CREATE USER 'Desy1'@'localhost' IDENTIFIED BY 'Desy1';
GRANT CREATE,RELOAD ON *.* TO 'Desy1'@'loclahost' ;
SHOW GRANTS FOR 'Desy1';
FLUSH PRIVILEGES;
No us oblideu del FLUSH PRIVILEGES; per actualitzar les taules de permisos després de fer canvis en els permisos dels usuaris.
3. Fes també l'usuari/a “teu-nom-2” amb contrasenya “teu-nom-2”, sense cap privilegi especial.
CREATE USER 'Desy2'@'localhost' IDENTIFIED BY 'Desy2';
5. Des de “teu-nom-1”, canvia la contrasenya de l'”teu-nom--2”. Captura una pantalla
MySql -u Desy1 -pDesy1;
SET PASSWORD FOR 'Desy2'@'localhost' = PASSWORD ('Desy1');
8. Connecta't des de la línia d'ordres amb l'“teu-nom-1” i fes l'usuari/a “teu-nom-3” amb contrasenya “teu-nom-3”.
-u Desy1 -pDesy1;
CREATE USER 'Desy3'@'localhost' IDENTIFIED BY 'Desy3';
5. Per a què serveix SELECT CURRENT_USER();?
Per veure amb qui usuari estem logejats.
6. Com crear una nova Base de dades? CREATE DATABASE bdprova;
Així es creara la nova base de dades bdprova.
7.com quitar elsp ermisos a un usuari? REVOKE ALL ON *.* FROM 'Desy2'@'%';
En comptes d'ALL podem posar només el nom d'un o més permisos especificats als quals retirar del usuari que sigui.
Per reiniciar el servidor des de la consola ho hem de fer així, primer el parem: C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld -u root shutdown
Després el iniciem amb la aplicació mysqld.exe fent aixó: C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld