Comunidad de diseño web y desarrollo en internet

como crear otro usuario?

Citar            
MensajeEscrito el 28 Jul 2009 04:06 am
Hola a todos bueno deseo crear que un usuario entre a un panel bueno mas escxplicado tengo un sitio web www.iimo.tk que hize para mi proyecto de la uni a un instituto entonces hize un panel de administracioin para modificar lo que puse en bd pero quiero agregar que otro usuarioi entre osea como personal docente entonces tenga 2 niveles uno administrsdor y el otro personal y el personal solo pueda bajar formularios y no entre al panel de administracion aqui tengo los codigos espero y me ayuden gracias

login.php

<?session_start();
if(isset($SESSION)){header("location: user.php"); /* Si ha iniciado la sesion, vamos a user.php */
}
else {

?>
<HTML LANG="es">
<HEAD>
<TITLE>inicio de Sesion</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">
<style type="text/css">
<!--
.Estilo1 {
font-family: Arial;
font-size: 12px;
}
-->
</style>
</HEAD>

<BODY>
<center>
<P align="center">Esta zona tiene el acceso restringido.
<BR>
Para entrar debe identificarse</P>
<form action="comprueba.php" method="POST">

<div align="center">
<table cellspacing=1 cellpadding=2>
Usuario: <input type="text" name="usuario">
<br>
Password: <input type="password" name="pass">
<br>
<input type="submit" value="Entrar">
</table
>
</div>
</form>
<P align="center">NOTA: si no dispone de identificación o tiene problemas para entrar
<BR>
póngase en contacto con el
<A HREF='MAILTO:iimo@imo.com'>administrador</A> del sitio</P>
</center>
<?
} /* Y cerramos el else */
?>
</BODY>
</HTML>

comprueba.php



<?
session_start();
$server="localhost"; /* Nuestro server mysql
*/$database="administracion"; /* Nuestra base de datos
*/$dbpass="root"; /*Nuestro password mysql
*/$dbuser="root"; /* Nuestro user mysql
*/$query="SELECT * FROM usuarios WHERE usuario='$usuario'";$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0) {echo "No existe esa usuario o esta mal el password favor de introducir los correctos<br>";
echo 'Clica <a href="../login.php">aquí</a> para volver a iniciar sesion';
}
else {$array=mysql_fetch_array($result);
if($array["password"]==crypt($pass,"semilla") ){/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar la misma semilla para encriptar los dos passwords.
*/$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");
}
else {echo "Password incorrecto!";}
/* Cerramos este ultimo else */}
/* Cerramos el else que corresponde a la comprobación de que el login existe */
?>



user.php



<?
session_start();
if(!isset($SESSION)){header("location: ../login.php");
}
else {
echo "<html><body>";
echo "Bienvenido ";
echo $SESSION["nombre"];
echo $SESSION["apellidos"]." ";
}
?><title>Panel de Administracion</title>
<br>
<?php
//iniciamos sesion
session_start();
// Registramos la sesion en el contador
session_register('contador');
//mostramso por pantalla y sumamos
echo 'Has visitado el panel: '.++$contador.'</a>';
?>
<H1>Panel De Administracion</H1>
<HR>

<UL>
<LI><A HREF="panel_noticias.php">Agregar noticias</A>
<LI><A HREF="../admin/index.html">Agregar Avisos</A>
<LI><A HREF="registro.php">Registro de Usuarios</A>
<LI><A HREF="consulta_usuarios.php">Lista de Usuarios</A>
</UL>

<HR>

<P>[ <A HREF='logout.php'>Desconectar</A> ]</P>

registro.php

<title>Registro de Usuarios</title><center>
<table cellspacing=1 cellpadding=2>
<form action="crea_user.php" method="POST">
<H1>Bienvenido Registrate en este formulario</H1>

<p><LABEL>Usuario:</LABEL>
<INPUT TYPE="TEXT" NAME="usuario" SIZE="20" MAXLENGTH="20"
</p>
<P><LABEL>Password:</LABEL>
<INPUT TYPE="password" NAME="pass1" SIZE="20" MAXLENGTH="20"
</p>
<P><LABEL>Repite Password:</LABEL>
<INPUT TYPE="password" NAME="pass2" SIZE="20" MAXLENGTH="20"
</p>
<P><LABEL>Nombre:</LABEL>
<INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="20"
<P><LABEL>Apellidos:</LABEL>
<INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="20"
</p>
<P><LABEL>Email:</LABEL>
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"
</p>
<br>
<input type="submit" name="Crear">
</form>
</table>

<P>[ <A HREF='user.php'>Regresar al panel de Administracion</A> ]</P>

crea_user.php



<?
$server="localhost";
/* Nuestro server mysql */$database="administracion";
/* Nuestra base de datos */$dbpass="root";
/*Nuestro password mysql */$dbuser="root";
/* Nuestro user mysql *//* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
$query="SELECT * FROM usuarios WHERE usuario='$usuario'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result))
{
echo "El usuario ya existe en nuestra base de datos<br>";
echo 'Clica <a href="crear_user.php">aquí</a> para volver al formulario';
}
else {mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */if($pass1!=$pass2)
{
echo "Los passwords deben coincidir<br>";
echo 'Clica <a href="registro.php">aquí</a> para volver al formulario';
}
else {$pass1=crypt($pass2, "semilla");
/* Encripatmos el password */
$query="INSERT INTO usuarios (usuario, nombre, apellidos, password, email) VALUES ('$usuario','$nombre','$apellidos','$pass1','$email')";
=mysql_db_query(,,);if(mysql_affected_rows())
{
echo "Has llenado el formulario correctamente<br>";
echo 'Clica <a href="../login.php">aquí</a> para ir a iniciar sesion';
}
/* Cierre del else */
} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
}
/* Cierre del else que corresponde a if(mysql_num_rows...) */
?>

elimina_usuarios.php



<?PHP
session_start ();
?>
<HTML LANG="es">

<HEAD>
<TITLE>Eliminar Usuarios</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">

<?PHP
// Incluir bibliotecas de funciones
include ("lib/fecha.php");
?>

</HEAD>

<BODY>

<H1>Eliminar Usuarios</H1>

<?PHP

$eliminar = $_REQUEST['eliminar'];
if (isset($eliminar))
{

// Conectar con el servidor de base de datos
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");

// Seleccionar base de datos
mysql_select_db ("administracion")
or die ("No se puede seleccionar la base de datos");

// Obtener número de noticias a borrar
$borrar = $_REQUEST['borrar'];
$nfilas = count ($borrar);

// Mostrar noticias a borrar
for ($i=0; $i<$nfilas; $i++)
{

// Obtener datos de la noticia i-ésima
$instruccion = "select * from usuarios where id = $borrar[$i]";
$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");
$resultado = mysql_fetch_array ($consulta);

// Mostrar datos de la noticia i-ésima
print ("Usuarios Eliminados:\n");
print ("<UL>\n");
print (" <LI>Id: " . $resultado['id']);
print (" <LI>Nombre: " . $resultado['nombre']);
print (" <LI>Apellidos: " . $resultado['apellidos']);
print (" <LI>Usuarios: " . $resultado['usuario']);
print (" <LI>Password: " . $resultado['Email']);
print (" <LI>Fecha: " . date2string($resultado['fecha']));

// Eliminar noticia
$instruccion = "delete from usuarios where id = $borrar[$i]";
$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la eliminación");

}
print ("<P>Número total de usuarios eliminados: " . $nfilas . "</P>\n");

// Cerrar conexión
mysql_close ($conexion);

print ("<P>[ <A HREF='elimina_usuarios.php'>Eliminar usuarios</A> | ");
print ("<A HREF='login.php'>Menú principal</A> ]</P>\n");

}
else
{

// Conectar con el servidor de base de datos
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");

// Seleccionar base de datos
mysql_select_db ("administracion")
or die ("No se puede seleccionar la base de datos");

// Enviar consulta
$instruccion = "select * from usuarios order by fecha desc";
$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");

// Mostrar resultados de la consulta
$nfilas = mysql_num_rows ($consulta);
if ($nfilas > 0)
{
print ("<FORM ACTION='elimina_usuarios.php' METHOD='post'>\n");

print ("<TABLE>\n");
print ("<TR>\n");
print ("<TH>Id</TH>\n");
print ("<TH>Nombre</TH>\n");
print ("<TH>Apellidos</TH>\n");
print ("<TH>Usuarios</TH>\n");
print ("<TH>Password</TH>\n");
print ("<TH>Email</TH>\n");
print ("<TH>Fecha</TH>\n");
print ("<TH>Borrar</TH>\n");
print ("</TR>\n");

for ($i=0; $i<$nfilas; $i++)
{
$resultado = mysql_fetch_array ($consulta);
print ("<TR>\n");
print ("<TD>" . $resultado['id'] . "</TD>\n");
print ("<TD>" . $resultado['nombre'] . "</TD>\n");
print ("<TD>" . $resultado['apellidos'] . "</TD>\n");
print ("<TD>" . $resultado['usuario'] . "</TD>\n");
print ("<TD>" . $resultado['password'] . "</TD>\n");
print ("<TD>" . $resultado['email'] . "</TD>\n");
print ("<TD>" . date2string($resultado['fecha']) . "</TD>\n");

print ("<TD><INPUT TYPE='CHECKBOX' NAME='borrar[]' VALUE='" .
$resultado['id'] . "'></TD>\n");

print ("</TR>\n");
}

print ("</TABLE>\n");

print ("<BR>\n");
print ("<INPUT TYPE='SUBMIT' NAME='eliminar' VALUE='Elimina usuarios marcados'>\n");
print ("</FORM>\n");
}
else
print ("No hay usuaris disponibles");

// Cerrar conexión
mysql_close ($conexion);

print ("<P>[ <A HREF='login.php'>Menú principal</A> ]</P>\n");
print ("<P>[ <A HREF='consulta_usuarios.php'>Consultar Usuarios</A> ]</P>\n");


}

?>

</BODY>
</HTML>



espero de su ayuda gracias

Por dannyphantom

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Jul 2009 05:53 am
pues no lei completo tu codigo, pero podrias hacer una nueva columna en la que tenga 0 si es usuario y 1 si es admin, entonces al llamar a la base de datos ves el privilegio y pones una variable en la sesion con admin en caso de admin xD

bueno, eso yo haria no se como lo veas

Por nphacks

8 de clabLevel



 

/home/mexico

firefox
Citar            
MensajeEscrito el 28 Jul 2009 11:44 pm
jem no entendi >_> toy un poco piedra

Por dannyphantom

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Jul 2009 06:16 pm
Claro en tu base de datos tenes la tabla "usuarios" dentro de esta tabla, una columna que sea "nivel"... en ese nivel guardas valores 0's o 1's donde 0 es para docentes y 1 para administradores.

Al momento de hacer el checkeo del login desde el panel de administradores verificas que "nivel=1"... si esto se cumple, que cree las sesiones y demas, en caso de que "nivel=0" lo redireccionas a un mensaje diciendole que "no tiene los permisos suficientes para acceder a tal area" o lo dejas loguearse pero lo reenvias a la pagina principal de tu sitio.

Cuando creas el login de docentes/administradores, y cuando estos se loguean, tienes que guardar informacion en otra sesion... algo como "session_nivel" (o como quieras llamarle) en esa sesion guardaras el 0 (docentes) o el 1 (administradores) entonces cuando el docente intenta ingresar a "www.tusitio.com/admin" corroboras de que sea 1... asi lo dejas pasar o 0 asi los envias al index del sitio.

Mucho rollo?! Esa es la idea!! jaja

Por Necrophasto

Claber

148 de clabLevel



 

Ushuaia, Tierra del Fuego, Argentina

firefox
Citar            
MensajeEscrito el 30 Jul 2009 07:09 pm
am weno gracias ya tengo resuelto el asunto =P

Por dannyphantom

6 de clabLevel



 

firefox

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.