PROGRAMAR EN ACCESS VBA

Aplicaciones access con VBA

  > Principal > Conexion a datos
 
.: Access
- Formularios access
- Informes access
- Formularios Arcgis
- Acceso a datos
- Ejemplos usuarios
- Libros access
- FAQ
- Cursos
- Empleo access
.: Pdas
- Programar PDA
- Tutorial
- Ejemplos
.: Php
- php basico
- formularios php
- conexion BBDD
- funciones php
- construir Intranet
- Empleo php
.: Programar Java
- Hibernate
- Spring Rich Client
- Swing
- Java
- Empleo Java
.: Blog
- Blog Access
.: SQL
- Que es sql
- Consultas SQL
- SQL Server
- SQL Server Avanzado
.: Android
- Android
- instalación SDK
.: Geotools
- Geotools
.: Foros
- Access
- PHP
- JAVA
- Android
- Programar
 
 
.: Novedades
- iphone 5
- PDANET
- Libros de access
- android
-Newssletters
 

Construir una intranet con PHP

En esta seccion veremos como construir paso a paso una intranet de empresa, utlizando php + mysql. Iremos desde la validación de usuario por contraseña, hasta la asignacion de distintos roles segun el usuario. Se compondrá de varios modulos, como pedidos, formacion,correo, gastos, noticias, etc

Si te quedan dudas sobre la seccion crear intranet en PHP puedes expresar su consulta en el Foro de intranet en php

.: Contratar Publicidad :.

1.- Introducción

Estos son los distintos modulos que vamos a ver dentro de la intranet:

1.- usuarios, creación, tablas, roles, validacion

2.- Pagina principal, validación de usuarios, login con php

3.- Modulo de noticias

4.- Modulo de Incidencias

5.- Modulo de pedidos

6.- Modulo de formación de usuarios

7.- Modulo de administración

 

2.- Usuarios: creacion y roles

El primer paso para crear nuestra intranet sera definir el diseño de nuestra base de datos. Un primer paso debería ser la tabla de usuarios, en mi caso, vamos a crear esta tabla con estos campos:

ID: Numero y autoincremental, clave primaria.

Nombre: Nombre completo del usuario;

usuario: Nombre de usuario para entrar en la intranet.

Password: Contraseña cifrada, en mi caso utilizo cifrado AES. Con la funciones AES_DECRYPT y AES_ENCRYPT puedo saber la contraseña, pero necesito una clave de validación.

Correo: correo web del usuario, lo utlizaremos para enviar avisos.

Por ahora no necesitaremos mas campos en la tabla de usuarios. La siguiente tabla que vamos a necesitar es la tabla ROLES. Esta tabla tendrá los permisos de cada usuario en cada uno de los modulos de la intranet. Los campos serán los siguientes:

ID: Numero y autoincremental, clave primaria.

Usuario: Id del usuario, es clave ajena de la tabla usuario (ID)

Noticias: Rol para el usuario en el modulo de visitas, podemos hacerlo asi: 0 (sin permiso), 1 (permiso limitado), 2 (permiso avanzado), 3 (Administrador)

Incidencias: Igual que noticias.

Pedidos:Igual que noticias.

Formacion:Igual que noticias.

Administracion:Igual que noticias.

 

Nuestro esquema de base de datos quedaría asi:

 

USUARIOS --------------1 Tiene 1--------------ROLES

 

Ahora que tenemos estas dos tablas, podemos diseñar el sistema de validacion y entrada a la intranet. Cada usuario entra validandose con su nombre de usuario y contraseña. Por lo tanto tendremos una pagina principal con un formulario, dos cajas de texto, para introducir nombre de usuario y contraseña, y un boton para ejecutar dicha validación.

Todo formulario web tiene asociada una acción. en este caso nuestra acción a ejecutar será: validar_usuario.php.

2.- Validar un usuario, Login en php

Debemos crear una pagina validar_usuario.php que se encarge de conectarse con la base de datos y comprobar que la validación es correcta, el código sería así:

 

<?php

include("funs.php");


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

$query = "select AES_DECRYPT(pass,clave) as pass from usuarios where usuario = '" . $usuario . "'";

$result = conexion("basedatos",$query);

$row = mysql_fetch_array($result);

if ($row['pass'] == $pass and $pass != '') {

if ($usuario == '' or $usuario == NULL) {
header("Location:../fallo_login.php");
}else
{

header("Location:intranet/index.php?usuario=" . $usuario . "");
}

}
else {
header("Location:../fallo_login.php");

}


?>

Este codigo es muy sencillo. Lo que hacemos en primer lugar es recuperar los valores del formulario, que estan almacenados en $_POST[]. Luego hacemos una consulta a la base de datos que nos devuelva la contraseña del usuario, si coinciden la validacion es correcta, si no, con header("Location:.. redirigimos a una pagina de fallo.

3.- Modulo de noticias

Vamos a ver a continuación como crear una pagina para insertar noticias y luego poder ver estas noticias. En primer lugar tendremos la pagina formulario. donde ponemos la noticia y su importancia:

 
<form name="form1" id="form1" method="post" action="guarda_noticia.php?usuario=<?php echo $usuario; ?>">
<p>Titulo:</p>
<p>
<input name="titulo" type="text" id="titulo" size="60" />
</p>
<p>Contenido:</p>
<p>
<textarea name="contenido" cols="60" rows="10" id="contenido"></textarea>
</p>
<p>Urgencia:
<select name="tipo" id="tipo">
<option value="1">MUY IMPORTANTE</option>
<option value="2">IMPORTANTE</option>
<option value="3">NORMAL</option>
<option value="4">INTRASCENDENTE</option>
</select>
</p>
<p>&nbsp;</p>
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
<p>&nbsp; </p>
</form>

 

Este formulario, redirige a la pagina guarda_noticia.php, que es la que guarda el registro en la base de datos:

 
<?php

session_start();

$titulo = $_POST['titulo'];

$contenido = $_POST['contenido'];

$fecha = date("y-m-d");

$usuario = getnusuario($_GET['usuario']);

$urgencia = $_POST['tipo'];


$sql = "insert into noticias (emisor,titulo,contenido,urgencia,fecha,valido) values (" . $usuario . ",'" . $titulo . "','" . $contenido . "'," . $urgencia . ",'" . $fecha . "',1)";

$resultado = conexion("Incidencias", $sql);

//header("location:../interno/indexintra.php?usuario=" . $_GET['usuario'] . "");
echo '<script language="javascript"> document.location.href="index.php?usuario='.$_GET['usuario'].'" ; </script>';
?>

 

Y luego, para mostrar las noticias sería:

 
$columns = 1;
$sql = "select * from noticias where valido = 1 order by fecha desc";
$result = conexion("Incidencias",$sql);
$columnas = (mysql_num_rows($result));
for($i = 0; $i < $columnas; $i++) {
echo "<TR>";
$row = mysql_fetch_array($result);
if ($row['urgencia'] == 1) {
echo "<td height='40' align='left' valign='middle' bgcolor='#FFFF00' >" . $row['titulo'] . "</td>";
echo "<td height='40' align='left' valign='middle' bgcolor='#FFFF00' ><span class='txt-desc-noticias'>" . $row['contenido'] . "</span></td>";
//echo "<td height='40' align='left' valign='middle' bgcolor='#FFFF00' ><a href='../img/noticias/" . $row['foto'] . "'><img src='../img/noticias/" . $row['foto'] . "' width='150' height='100' /></a></td>";

echo "<td height='40' align='left' valign='middle' bgcolor='#FFFF00' >MUY IMPORTANTE</td>";
echo "<td height='40' align='right' valign='middle' bgcolor='#FFFF00' >" . fechabuena($row['fecha']) . "</td>";
}else {
echo "<td height='40' align='left' valign='middle' bgcolor='#EEFBF7' >" . $row['titulo'] . "</td>";
echo "<td height='40' align='left' valign='middle' bgcolor='#EEFBF7'><span class='txt-desc-noticias'>" . $row['contenido'] . "</span></td>";
//echo "<td height='40' align='left' valign='middle' bgcolor='#EEFBF7' >imagen</td>";

echo "<td height='40' align='left' valign='middle' bgcolor='#EEFBF7' >IMPORTANCIA</td>";
echo "<td height='40' align='right' valign='middle' bgcolor='#EEFBF7'>" . fechabuena($row['fecha']) . "</td>";
}
echo "</TR>\n";
}
?>
</table>

 

4.- Modulo de incidencias
 
 
 
Añadir a favoritos Contacto Libros sobre access y vba Enlaces Todo Access  
 
.: En ProgramarVBA podrá encontrar:        
Visual Basic Formularios Access Informes Android PDAs Java y Sql SQL SERVER
Foro GIS Foro PDAs Tutorial VBA Bases de datos Access Foro SQL Acceso a datos access Informes access