You are on page 1of 5

Autentificar.

PHP
----------------

<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db

if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )//comprobamos que las
variables enviadas por el form de login.php tienen contenido
{
Header("Location: index.php"); //estan vac�as, volvemos al index
}else{

//comprobamos en la db si existe ese nick con esa pass


$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and
pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion,
si no, al index
{

session_register("usuario"); //registramos la variable usuario que contendr� el


nick del user
session_register("idusuario"); //registramos la variable idusuario que contendr�
la id del user
session_register("level"); //registramos la variable level que contendr� el level
del user
//damos valores a las variables de la sesi�n
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable
idusuario
$_SESSION[level] = $user_ok["level"]; //damos el level del user a la variable
level
Header("Location: index.php"); //volvemos al login donde nos saldr� nuestro men�
de usuario

}else{
echo 'Nick y pass incorrectos';
}

}
?>
***********************************************************************
Index.PHP
---------
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db

if(!isset($_SESSION[usuario]) ) //comprobamos que no existe la session, es decir,


que no se ha logeado, y mostramos el form
{

//Creamos el form que ir� a autentificar.php para comprobar los datos con la tabla
users
echo '<form action="autentificar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form><br><br>Nuevo usuario? <a
href="reg.php">Registrarse</a>';

}
else
{

//SI se ha logeado, mostramos el nick y la opci�n de deslogearse


//Este ser�a el men� que saldr�a a la gente que esta logeada, se puede modificar y
a�adir cosas
echo 'Bienvenido ' . $_SESSION[usuario]; //ej Bienvenido Juan
echo '<br><br><center>Libros disponibles:<br><br>';
$consulta = mysql_query("select * from tb_libros", $conexion); //Extrae todo lo
que est� en la tabla de los libros
$nfilas = mysql_num_rows($consulta); //Esta variable guarda el # de resultados, ya
nosotros sabemos que es 6

for($i=1; $i<=$nfilas; $i++)


{
$fila = mysql_fetch_array($consulta); //Esta variable act�a como un vector
que deposita los resultados de la b�squeda fila por fila y se van imprimiendo:
echo $i . '. <b><a href="venta.php?libro=' . $i . '">' . $fila["titulo"] .
'</a></b><br>';
echo 'Autor: ' . $fila["autor"] . '<br>';
echo 'Precio: $' . $fila["precio"] . '<br>';
echo 'Veces vendido: ' . $fila["ventas"] . '<br>';
echo 'Cantidad en stock: ' . $fila["stock"] . '<br><br>';
}
echo '</center>';

if($_SESSION[level] == 1)
{
//mostramos el link para ir a la pagina privada porque el user tiene level 1
(*Nota: el level por defecto es 2, por lo tanto no se le mostrar�)
//*Nota2: para cambiar el level a 1, se tiene que hacer manualmente por phpmyadmin
echo '<br><a href=admin.php>Ir a panel administrativo</a>';
}

echo '<br><a href=logout.php>Salir</a>'; //link para deslogearse, ir�a a


logout.php

?>
*********************************************************************
Conf.php
--------
<?php
$dbhost="localhost"; //Host del mysql
$dbuser="root"; //Usuario del mysql
$dbpass=""; //Password del mysql
$db="db_usuarios"; //db donde se crear� la tabla users

//conectamos y seleccionamos db
$conexion = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");

//Comenzamos la sesi�n, esto se explica despues en el Sistema de Login


session_start();
?>
*********************************************************************
Logout.PHP
----------
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db y la sesi�n

session_destroy(); //destruimos la sesion


Header("Location: index.php"); //volvemos al login

?>
***********************************************************************
Reg.PHP
------
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db

//Creamos el form k ir� a registrar.php para comprobar y introducir los datos a la


tabla users
echo '<form action="registrar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
Repetir Password: <input type="password" name="pass1" size="30" ><br>
email: <input type="text" name="email" size="50"><br>
Rollo: <textarea name="rollo" cols="30" rows="10"></textarea><br>
<input type="submit" name="submit" value="Enviar"></form><br><br><a
href="index.php">Regresar</a>';
?>
******************************************************************
registrar.PHP
-------------
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db

//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de
reg.php, si no volvemos al form
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') )
{
Header("Location: reg.php"); //enviamos al form de registro que esta en reg.php
}else{

//Comprobamos que la pass y pass1 son iguales, si no, volvemos a reg.php


if($_POST[pass] != $_POST[pass1])
{
echo 'Las passwords no son iguales';
}else{

//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass]


$user = stripslashes($_POST["nick"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["pass"]);
$pass = strip_tags($pass);

//comprobamos que el usuario no existe en la db


$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' ");
if($user_ok=mysql_fetch_array($usuarios))
{
echo 'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}
else
{
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email = stripslashes($_POST["email"]);
$email = strip_tags($email);
$rollo = stripslashes($_POST["rollo"]);
$rollo = strip_tags($rollo);
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por
<br>
$rollo = str_replace("\r\n","<br>",$rollo);
$rollo = str_replace("\n","<br>",$rollo);

$fecha = time();
$level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia
manualmente desde phpmyadmin)

//introducimos el nuevo registro en la tabla users


mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values
('$user','$pass','$email','$fecha','$level','$rollo') ");
echo 'Usuario registrado con �xito';
}

}
?>
*********************************************************************
vendido.php
-----------
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db

if(!empty($_GET))
{
if(is_numeric($_GET['libro']))
{
$consulta = mysql_query("SELECT * FROM tb_libros WHERE indice =
'".$_GET['libro']."'");
$fila = mysql_fetch_array($consulta);
mysql_query("UPDATE tb_libros SET ventas = ventas + 1, stock = stock -
1 WHERE indice = '".$_GET['libro']."'");
echo '<center><br><h2>Libro vendido!</h2><br><br><a
href="index.php">Regresar</a>';
}
}
else
{
Header("Location: index.php");
}

?>
*********************************************************************
venta.php
----------

<?php
include('config.php'); //incluimos el config.php que contiene los datos de la
conexi�n a la db
echo '<center><br><h2>Comprar libro</h2><br><br>';

if(!empty($_GET))
{
if(is_numeric($_GET['libro']))
{
$consulta = mysql_query("SELECT * FROM tb_libros WHERE indice =
'".$_GET['libro']."'");
$fila = mysql_fetch_array($consulta);
echo '<b>' . $fila["titulo"] . '</b><br>';
echo 'Autor: ' . $fila["autor"] . '<br>';
echo 'Precio: $' . $fila["precio"] . '<br>';
echo 'Veces vendido: ' . $fila["ventas"] . '<br>';
echo 'Cantidad en stock: ' . $fila["stock"] . '<br><br>';
if ($fila["stock"]>0) //Verificar existencia
{
echo '<a href="vendido.php?libro='. $_GET['libro'] .'">Confirmar
compra</a> | <a href="index.php">Regresar</a>';
}
else
{
echo 'El libro est� agotado | <a href="index.php">Regresar</a>';
}
}
}
else
{
echo 'Error: No se especific� id del libro</center>';
}

?>
********************************************************************

You might also like