Foros del Web » Programando para Internet » PHP »

Creando cuentas de usuarios???

Estas en el tema de Creando cuentas de usuarios??? en el foro de PHP en Foros del Web. Hola estoy empezando a hacer un formulario para crear mis usuarios, cosa que antes hacia desde el phpmyadmin. El tema es que los usuarios los ...
  #1 (permalink)  
Antiguo 06/03/2007, 08:12
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Pregunta Creando cuentas de usuarios???

Hola estoy empezando a hacer un formulario para crear mis usuarios, cosa que antes hacia desde el phpmyadmin. El tema es que los usuarios los alojo en la base mysql, y de la misma unicamente deberian poder cambiar su password, ademas tengo otra base "sec_administrativa" de la cual pueden consultar todo y pueden insertar solo en la tabla auditoria de la misma. En fin les pongo lo que he hecho para ver si me pueden orientar un poco.
Esta es una funcion conexion que incluyo en mis paginas:
Código PHP:
session_start();
session_register("autentificado","usuario","pass");
function 
mysql_consulta($consulta,$BD,$usuario,$pass)
{
  if (!
mysql_connect($_SERVER["HTTP_HOST"],$usuario,$pass))
     {
      echo 
"Error conectando a la base de datos.";
      exit();
     }
    if (!
mysql_select_db($BD))
      {
       echo 
"Error seleccionando la base de datos.";
       exit();
      }
    if(!(
$resultado=mysql_query($consulta)))
             {
             die(
"problemas con el comando sql: <br> consulta:$consulta<br>error:".mysql_error());
             }
  return 
$resultado;

Este es el formulario:
Código:
<form action="http://<?echo $_SERVER["HTTP_HOST"];?>/secretaria/configuracion/agregar_usuario.php" method="post">
<table bgcolor="#DEDEDE" width="100%" align="left">
<tr>
<td align="right" width="25%"><font size="1">Nombre de Usuario</font></td><td>: <input type="text" name="usser" size="20"></td>
</tr>
<tr>
<td align="right" width="25%"><font size="1">Contraseña</font></td><td>: <input type="password" name="pass1" size="20"></td>
</tr>
<tr>
<td align="right" width="25%"><font size="1">Re escriba</font></td><td>: <input type="password" name="pass2" size="20"></td>
</tr>
<tr>
<td align="right" width="25%"><font size="1">Area</font></td><td>: <select name="A" size="1">
      <option>
      
Código PHP:
<?       $sql=mysql_consulta("SELECT * FROM `sa_areas`","sec_administrativa","$usuario","$pass");       while($myrow=mysql_fetch_array($sql))       {       $nombre=$myrow['tb_areas_nombre'];       echo"<option> $nombre";       }       ?>
</select> </td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" value="Agregar"> </td> <td> </td> </tr> </form> </table>
Y este es el que procesa, en el cual tengo todas las dudas:
Código PHP:
//Agrego el usuario
$ssql=mysql_consulta("GRANT SELECT ON * . * TO '$usser'@ '%'IDENTIFIED BY '$pass1' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0","mysql","$usuario","$pass");

//Busco el codigo de nivel
$ssql=mysql_consulta("SELECT * FROM `sa_niveles` WHERE 1 AND `tb_niveles_area`='$A'","sec_administrativa","$usuario","$pass");
$row=mysql_fetch_array($ssql);
$cod_nivel=$row["tb_niveles_id"];

//Actualiza nivel
$ssql=mysql_consulta("UPDATE `user` SET `nivel` = '$cod_nivel' WHERE `Host` = '%' AND `User` = '$usser' LIMIT 1 ;","mysql","$usuario","$pass");

//privilegios para insertar en tabla auditoria
$ssql=mysql_consulta("REVOKE ALL PRIVILEGES ON `sec_administrativa`.`sa_auditoria` FROM '$usser'@ '%'; ","mysql","$usuario","$pass");

$ssql=mysql_consulta("REVOKE GRANT OPTION ON `sec_administrativa`.`sa_auditoria` FROM '$usser'@ '%';","mysql","$usuario","$pass");

$ssql=mysql_consulta("GRANT INSERT ON `sec_administrativa`.`sa_auditoria` TO '$usser'@ '%';","mysql","$usuario","$pass"); 
No se si esa es la manera correcta de hacerlo, todavia me falta darle los privilegios para que pueda cambiar su contraseña. Podrian ayudarme. Se agradece. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 06/03/2007, 08:39
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Creando cuentas de usuarios???

No me queda del todo claro, en que quieres que se te apoye
Si definieras un poco más lo que necesitas, te lo agradecieria mucho.

Saludillos.
  #3 (permalink)  
Antiguo 06/03/2007, 09:00
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Creando cuentas de usuarios???

Gracias por responder mauled primero que nada, bueno una de las dudas es que si estan bien y son necesarias por ejemplo estas instrucciones:
Código PHP:
$ssql=mysql_consulta("REVOKE ALL PRIVILEGES ON `sec_administrativa`.`sa_auditoria` FROM '$usser'@ '%'; ","mysql","$usuario","$pass"); 

$ssql=mysql_consulta("REVOKE GRANT OPTION ON `sec_administrativa`.`sa_auditoria` FROM '$usser'@ '%';","mysql","$usuario","$pass"); 

$ssql=mysql_consulta("GRANT INSERT ON `sec_administrativa`.`sa_auditoria` TO '$usser'@ '%';","mysql","$usuario","$pass"); 
Por que me parece que hace lo siguiente: primero le quita todos los privilegios, cuando creo que el unico que le he dado es el de SELECT, y despues el GRANT OPTION ON (no se que hace), y por ultimo le da el privilegio de que inserte en la tabla auditoria, ahora porque no directamente hacer la ultima instruccion??. No entiendo he copiado las instrucciones asi porque ese es el codigo que me larga desde el phpmyadmin. Y a lo mejor yo estoy agregando mal los usuarios.
__________________
->Aprender es un proceso que incluye el error..
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 04:23.