Foros del Web » Programando para Internet » PHP »

como crear otro usuario?

Estas en el tema de como crear otro usuario? en el foro de PHP en Foros del Web. Hola a todos bueno deseo crear que un usuario entre a un panel bueno mas escxplicado tengo un sitio web que hize para mi proyecto ...
  #1 (permalink)  
Antiguo 27/07/2009, 21:54
 
Fecha de Ingreso: abril-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
como crear otro usuario?

Hola a todos bueno deseo crear que un usuario entre a un panel bueno mas escxplicado tengo un sitio web 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
</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,$d buser,$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 */
?>

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','$emai l')";
=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>
  #2 (permalink)  
Antiguo 27/07/2009, 22:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: como crear otro usuario?

amigo... me costo entender pero supongo lo que quieres es que dependiendo del usuario.. te dirija a una u otra pagina.. si es asi, yo o hago con switch.. entonces solo comparo los datos del usuario.. y dependiendo del campo que consulte.. lo dirije a una cierta página..
como veras, en mi bd tengo un campo denominado "nivel", que uso para asignar el tiepo de acceso que quiero dar, asi a los que ingresen y tengan en el campo el valor "administracion", los dirijo a un pagina para los "administradores"... y si el valor es "informe".. a la pafina delos informes.. si no cumple ninguna... a la pagina "pagina.html"

todo esto lo hago asi..

Código PHP:
<?php
session_start
();
// Configura los datos de tu cuenta 
$dbhost='mi_host'
$dbusername='mi_user'
$dbuserpass='mi_pass'
$dbname='mi_bd'
// Conectar a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('Cannot select database'); 


if (
$_POST['username']) 

      
//Comprobacion del envio del nombre de usuario y password 
      
$username=$_POST['username']; 
      
$password=$_POST['password']; 

if (
$password==NULL
 { 
    
header("location: index.html") ; // lo reenvio al inicio si no hay pass 
 
}
else
 { 
    
$query mysql_query("SELECT usuario,password FROM usuarios WHERE usuario = '$username'") or die(mysql_error()); 
    
$data mysql_fetch_array($query); 
    if(
$data['password'] != $password
  { 

echo 
"Password incorrecta"//aqui llamo un javascript que me redirije al incio despues de 2 segundos si la pass esta incorrecta (un lujito)
?> 
    <script language="javascript"> 
     setTimeout("url()",2000); 
     function url() 
     { 
     window.location="index.html";
     } 
    </script>
    
<?PHP }
else
  { 
    
$query mysql_query("SELECT * FROM usuarios WHERE usuario = '$username'") or die(mysql_error()); 
    
$row mysql_fetch_array($query); 
    
$_SESSION["s_username"] = $row['usuario'];
    
$_SESSION["nivel"] = $row['nivel'];
    
    
///redirecciona segun unidad
    
if($row 0
    {
    
$_SESSION["autentificado"]= "SI";
    
//defino la sesión que demuestra que el usuario está autorizado
    
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
    switch (
$row['nivel']) 
    { 
        case 
"administracion"
            
$Pag "administracion.php"
        break; 
        case 
"formularios"
            
$Pag "formularios.php"
        break; 
        default:  
///aca una pagina por defecto
            
$Pag "pagina.html";
        break; 
    } 
    
header("Location: ".$Pag); ///aqui le digo que me redirija a la pagina de acuerdoal tipo ingresado (administración, formularios, o pagina)
}
    exit();  
  } 
 } 
}
    
else
    { 
    
header("location: index.html") ; 
    }
?>

espero sea lo que necesitas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:51.