Comunidad de diseño web y desarrollo en internet online

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:[email protected]'>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



Genero:Masculino  

Diseñador gráfico y web

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

 

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