Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2007, 08:12
Avatar de cala932
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..