Foros del Web » Programando para Internet » PHP »

registro para autentificator de cluster

Estas en el tema de registro para autentificator de cluster en el foro de PHP en Foros del Web. Bueno nunca pense que llegaria a usarlo yo vi el autentificator cuando recien lo hizo cluster hace buuu años bueno el problema es que ahora ...
  #1 (permalink)  
Antiguo 28/10/2005, 02:27
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 16 años, 2 meses
Puntos: 0
registro para autentificator de cluster

Bueno nunca pense que llegaria a usarlo

yo vi el autentificator cuando recien lo hizo cluster hace buuu años

bueno el problema es que ahora lo estoy editando y estudiandolo (claro que soy nulo en php y estoy tratando de volver a aparender xD)

lo que necesito es hacer un formulario para que se registren los usuario y que queden con un nivel de acceso mas bajo que el mio que seria administrador

yo tengo nivel 0 y quiero que los usuarios que se registren queden con nivel 1 por ejemplo

ademas que cada usuario tenga su pagina de acceso con sus datos privados que ingresen en ella

seria posible todo esto

en el buscador de aqui mismo encontre esto pero me zapatea la neurona y no entendi ni jota

bueno gracias
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por MARKWEB; 28/10/2005 a las 02:44
  #2 (permalink)  
Antiguo 28/10/2005, 06:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Toma como ejemplo el gestor de usuarios que se incluye con Autentificator (gestion_usuarios.php) .. ahí veras como se crea un usuario (el formulario y el código de proceso), aisla ese código (que es lo que realmente tu necesitas).

Lo único que requieres es que eliminar el código de autentificación que incorpora gestion_usuarios.php .. (bueno .. del código que aisles) por qué con esa validación (por la filosofía de Autentificator) se obliga a que el proceso de registro/etc lo haga un usuario ya autentificado en tu sistema (y ese no va a ser tu caso .. pues es un usuario nuevo el que se va a registrar).

Luego, por último .. ya te darás cuenta que en la consulta SQL que se hace para crear el usuario (el "INSERT") se usa una variable que viene del formulario de registro del usuarios que indica el nivel del usuario que va a quedar .. sustituyelo por un valor fijo (nivel "1" por ejemplo .. siendo tu como administrador un nivel "0" por ejemplo) y listo .. ya quedaran registrados tus usuarios "por defecto" con ese nivel inferior al tuyo.

Un saludo,
  #3 (permalink)  
Antiguo 31/10/2005, 18:11
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 16 años, 2 meses
Puntos: 0
lamentablemente no pude aislar el codigo de registro

me quedo grande el trabajo

eso de
Código PHP:
$pag=$_SERVER['PHP_SELF'
me quedo grande es nuevo para mi


y la parte que aisle me dio un error en la pagina

Código:
Parse error: parse error, unexpected $ in /home/pmanager/public_html/autentificador/aut_gestion_usuarios3.php on line 215
y la linea 215 me dice esto

Código HTML:
</HTML> 
no veo cual puede ser el error siendo la ultima linea


bueno seguire intentando
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por Cluster; 31/10/2005 a las 19:12
  #4 (permalink)  
Antiguo 31/10/2005, 19:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno, .. sigue intentandolo, pero si vas poniendo el código que aislastes será mejor para orientarte si vas por buen camino o incluso solventar ese pequeño error que tienes.

Pero .. no se trata de "cortar" aquí y pegar allá .. debes entender el código que ves .. sino, no darás una.

Esta variable:
$pag=$_SERVER['PHP_SELF'];

tan sólo obtiene el URL del script que se está ejecutando ... es decir, si mismo.


Un saludo,
  #5 (permalink)  
Antiguo 31/10/2005, 21:51
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 16 años, 2 meses
Puntos: 0
bueno aca hice el intento y me funcionó

deje el enlace de la pagina

http://69.72.218.210/~pmanager/auten...egistrarse.php

me hace el registro y queda con nivel de usuario 1, lo que me dijiste sobre el insert no resulto, pero lo solucione de esta manera, si esta mal agradesco que me ayudes a corregir

Código PHP:
mysql_query("INSERT INTO $sql_tabla values('','$usuario','$pass1','$equipo','$nivel+1')") or die 
si me sobra codigo por ahi puedes decirmelo please o si pasa lo contrario tambine gracias
tambien agregue un campo mas al registro.

Y cuando uno termina de registrarse me gustaria que me redireccionara a ora pagina no a la misma


gracias por tu tiempo cluster



Código PHP:
 <?
//  Autentificator
//  Gestión de Usuarios PHP+Mysql
//  by Pedro Noves V. (Cluster)
//  [email protected]
//  ------------------------------
//require("aut_verifica.inc.php"); // incluir motor de autentificación.
//$nivel_acceso=1; // definir nivel de acceso para esta página.
//if ($nivel_acceso < $_SESSION['usuario_nivel']){
//header ("Location: $redir?error_login=5");
//exit;
//}

require ("aut_config.inc.php"); // incluir configuracion.
$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.

function cabeceraHTML(){
echo <<< HTML
<html>
<head>
<title>Gestión Usuarios - www.tusitio.tal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
 .botones {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #0099FF; border-color: #000000 ; border-top-width: 1pix; border-right-width: 1pix; border-bottom-width: 1pix; border-left-width: 1pix}
 .imputbox {  font-size: 10pt; color: #000099; background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
 A:VISITED  { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:LINK     { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; border-color: #33FF33 #66FF66; clip:  rect(   ); font-size: 10pt}
 A:ACTIVE   { font-weight: normal; color: #FF3333; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:HOVER    { font-weight: normal; color: #0000CC; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline; font-size: 10pt}
-->
</style>

</head>

<body bgcolor="#FFFFFF">

HTML;
}


if (isset(
$_GET['error'])){

$error_accion_ms[0]= "No se puede borrar el Usuario, debe existir por lo menos uno.<br>Si desea borrarlo, primero cree uno nuevo.";
$error_accion_ms[1]= "Complete toda la información solicitada.";
$error_accion_ms[2]= "Los passwords no coinciden.";
$error_accion_ms[3]= "El Nivel de Acceso ha de ser numérico.";
$error_accion_ms[4]= "El Usuario ya está registrado.";

$error_cod $_GET['error'];
echo 
"<div align='center'>$error_accion_ms[$error_cod]</div><br>";

}

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

if (!isset(
$_GET['accion'])){

$usuario_consulta mysql_query("SELECT ID,usuario,equipo,nivel_acceso FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");

cabeceraHTML();

echo <<< HTML

<table width="560" border="1" cellspacing="0" cellpadding="4" bordercolor="#CCCCCC" align="center">
  <tr>
    <td colspan="5" bgcolor="#0099FF" width="548">
      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">.:
        Gesti&oacute;n Usuarios :.</font></b></font><br>
        &nbsp;</div>
    </td>
  </tr>
  <tr bgcolor="#00CCCC">
    <td width="32%" bgcolor="#CCFFCC">
    <div align="center"><font color="#FFFFFF"><a href="$pag?accion=nuevo">Registrar usuario</a></font></div></td>
  </tr>

HTML;

while(
$resultados mysql_fetch_array($usuario_consulta)) {

echo <<< HTML

HTML;
}
echo 
"</table>";
mysql_free_result($usuario_consulta);
mysql_close();
}


if (
$_GET['accion']=="nuevo"){

cabeceraHTML();

echo <<< HTML
<form method="post" action="$PHP_SELF?accion=hacernuevo">

  <table width="350" border="1" cellspacing="0" cellpadding="4" align="center">
    <tr> 
      <td colspan="2" height="30" bgcolor="#0099FF"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.: 
          Registro de Usuarios :.</font></b></div></td>
    </tr>
    <tr bgcolor="#FFFFCC"> 
      <td width="158"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Usuario 
          : </font></div></td>
      <td width="170"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input type="text" name="usuarionombre" class="imputbox" maxlength="15" size="20">
        </font></b></td>
    </tr>
    <tr bgcolor="#FFFFCC"> 
      <td width="158"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Password 
          : </font></div></td>
      <td width="170"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input type="password" name="password1" class="imputbox" maxlength="15" size="20">
        </font></b></td>
    </tr>
    <tr bgcolor="#FFFFCC"> 
      <td width="158"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">&nbsp; 
          Confirmar Password : </font></div></td>
      <td width="170"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input type="password" name="password2" class="imputbox" maxlength="15" size="20">
        </font></b></td>
    </tr>
    <tr> 
      <td width="158" bgcolor="#FFFFCC"> <p align="right"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Equipo 
          PM :</font></td>
      <td width="170" bgcolor="#FFFFCC"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input type="text" name="equiponombre" class="imputbox" maxlength="15" size="20">
        </font></b></td>
    </tr>
    <tr bgcolor="#FFFFCC"> 
      <td colspan="2" height="40"><div align="center"> 
          <input type="submit" name="Submit" value="  Registrarse  " class="botones" >
        </div></td>
    </tr>
  </table>
</form>
HTML;
}

if (
$_GET['accion']=="hacernuevo"){

$usuario=$_POST['usuarionombre'];
$pass1=$_POST['password1'];
$pass2=$_POST['password2'];
$equipo=$_POST['equiponombre'];
$nivel=$_POST['1'];


if (
$pass1=="" or $pass2=="" or $equipo=="" or $usuario=="") {
header ("Location: $pag?accion=nuevo&error=1");
exit;
}

if (
$pass1 != $pass2){
header ("Location: $pag?accion=nuevo&error=2");
exit;
}


$usuarios_consulta mysql_query("SELECT ID FROM $sql_tabla WHERE usuario='$usuario'") or die(mysql_error());
$total_encontrados mysql_num_rows ($usuarios_consulta);
mysql_free_result($usuarios_consulta);

if (
$total_encontrados != 0) {
header ("Location: $pag?accion=nuevo&error=4");
exit;
}

$usuario=stripslashes($usuario);
$pass1 md5($pass1);
mysql_query("INSERT INTO $sql_tabla values('','$usuario','$pass1','$equipo','$nivel+1')") or die(mysql_error());
mysql_close();

header ("Location: $pag");
exit;


}

?>
</BODY>
</HTML>
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por MARKWEB; 01/11/2005 a las 23:15
  #6 (permalink)  
Antiguo 02/11/2005, 05:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si quieres que tus usuarios queden registrados con nivel 1 .. tan sólo usa dicho valor directamente sobre tu consulta SQL:

Código PHP:
mysql_query("INSERT INTO $sql_tabla values('','$usuario','$pass1','$equipo','1)") or die (mysql_error()); 
En consecuencia .. ese:
$nivel=$_POST['1'];

sobra .. no sé si conoces que es $_POST .. pero eso no es un "valor" sino una variable de tu formulario que entra por el método POST concretamente .. SI no conoces como PHP trabaja con variables externas .. revisa este capítulo del manual oficial de PHP:

http://www.php.net/manual/es/languag...s.external.php

Aquí .. si te fijas bien el proceso .. es donde se redirecciona al terminar tu proceso de registro con exito .. pon ahí directamente tu URL hacia donde quieres redireccionar:

Código PHP:
header ("Location: $pag"); 
Nota:
Este tipo de validaciones:
Código PHP:
if ($pass1=="" or $pass2=="" or $equipo=="" or $usuario==""
sería mejor que uses empty($variable) en lugar de $variable == "" y en lugar de or usar ||
Código PHP:
if (empty($pass) || empty($pass2) .. etc
(no recuerdo en mi código original como uso ese tipo de validaciones .. pero el código tiene mucho tiempo así que sea como sea el uso de empty() es lo que deberías usar si o si)

Un saludo,

Un saludo,

Última edición por Cluster; 02/11/2005 a las 05:13
  #7 (permalink)  
Antiguo 02/11/2005, 09:37
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Cluster me descargué tu código hará una semana o dos y viene tal como MARKWEB lo tiene, es decir, sin utilizar ni empty() ni ||.

Ahora mismo lo cambio.

Saludos,
__________________
sergiold
  #8 (permalink)  
Antiguo 03/11/2005, 09:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por sergiold
Cluster me descargué tu código hará una semana o dos y viene tal como MARKWEB lo tiene, es decir, sin utilizar ni empty() ni ||.

Ahora mismo lo cambio.

Saludos,
Hace mucho que cré Autentificator y la verdad que tengo el proyecto completamente abandonado, por ende nunca más revisé su código .. Por eso y ya que uno también aprende con el tiempo nuevas técnicas y mejora las que pueda saber ... por eso hice el comentario para que lo tengan presente.

Un saludo,
  #9 (permalink)  
Antiguo 03/11/2005, 18:30
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 16 años, 2 meses
Puntos: 0
ajaaa

bueno la cosa es que como dice sergiodl es asi

bueno eso de || lo eh visto en lenguage C

gracias cluster por todo

seguiré molestando eso si

xD
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
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 10:47.