Sesiones en PHP..

Con este ejemplo de usos de sesiones en PHP, podrás limitar a usuarios y no permitirles el acceso a tus paginas web, aunque estos se sepan las direcciones a las que vas dentro de tu sitio.

A continuación un ejemplo simple de como usar sesiones dentro de tu sistema.

Lo que tenemos comúnmente en nuestros sistemas web es la validación de usuarios, esto generalmente lo hacemos comparando los usuarios y passwords con nuestra base de datos.

Ahora dentro de tu archivo de validación de usuarios, antes de mandar a los usuarios a la página de bienvenida realiza lo siguiente:

1.- Empezamos una sesión con session_start(); y también creamos una variable de sesión, recuerda que debes crear la variable de sesión solo si el usuario existe y va a darle permiso de que navegue en tu sitio web.

<?php  //Función la debemos definir antes de cualquier otro código.
session_start(); //Crear sesión.
?>
<?php
$_SESSION[‘logged’] == “OK” //Creamos la variable de sesión.
?>

2.- En las paginas en donde vas a verificar la variable de sesión tienes que hacer lo siguiente.

<?php
session_start(); // Crea una sesión ó continúa con una sesión..
?>
if($_SESSION[‘logged’] == “OK”) {
echo “OK, tienes el acceso permitido”;}
else {
?>

<SCRIPT LANGUAGE=”javascript”>location.href = “index.php”;
</SCRIPT> <!–Esta parte la puedes hacer con Javascript ó con PHP, lo retornamos al index.–>

<?php
require “index.php”; // Acá lo hacemos con PHP, para retornarlo a index en caso de que no tenga permiso.
}

Y esto lo hacemos en todas nuestras paginas, es una manera fácil de protegerlas.

Nota: Puedes poner dentro del If, si la condición se cumple lo que quieras que suceda en cuanto a dirigirlos a otras paginas, también puedes dejar en mensaje de que tiene acceso permitido y dejar que la pagina que tiene se cargue normalmente.

Si tienes dudas escríbeme.

Exportar de PHP a XLS (Excel)…

Bueno aquí les voy a dejar el código que hice para poder exportar de php a xls (excel), la problemática surgió ya que los usuarios deseaban tener en algún momento los datos en excel para poder manipularlos, entonces tenia que crear ligar para que las consultas se ejecutaran y mostrarles la información en un archivo de excel.

Puedes hacer tu archivo de conexión ó hacer la conexión en el mismo archivo, en este caso haré la conexión en el mismo archivo php.

También agregue un estilo para que las principales celdas en excel osea la de  los títulos aparezcan en negro y letras blancas.

<?php
header(“Content-Type: application/vnd.ms-excel”);
header(“Expires: 0”);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);
header(“content-disposition: attachment;filename=Reportes.xls”);
?>
<HTML LANG=”es”>
<title>Bases de Datos.</title>
<TITLE>Titulo de la Página.</TITLE>
</head>
<body>
<?php
$NombreBD = “NOMBRE_DE_BD”;
$Servidor = “localhost”;
$Usuario = “root”;
$Password =””;

$IdConexion = mysql_connect($Servidor, $Usuario, $Password);
mysql_select_db($NombreBD, $IdConexion);

$sql = “SELECT ID,INCIDENCIA,DEPENDENCIA,SECTOR,TURNO,HORA FROM reportes”;
$result=mysql_query($sql,$IdConexion);

?>

<TABLE BORDER=1 align=”center” CELLPADDING=1 CELLSPACING=1>
<TR>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;ID</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;INCIDENCIA&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;DEPENDENCIA&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;SECTOR&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;TURNO&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;HORA&nbsp;</span></TD>

</TR>
<?php

while($row = mysql_fetch_array($result)) {
printf(“<tr>
<td>&nbsp;%s</td>
<td>&nbsp;%s&nbsp;</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
</tr>”, $row[“ID”],$row[“INCIDENCIA”],$row[“DEPENDENCIA”],$row[“SECTOR”],$row[“TURNO”],$row[“HORA”]);
}
mysql_free_result($result);
mysql_close($IdConexion);  //Cierras la Conexión
?>

</table>
</body>
</html>

Esta parte hace que se genera un archivo xls  desde php de una tabla que ó consulta especifica.

<?php
header("Content-Type: application/vnd.ms-excel");header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=Reporte.xls");
?>