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;
}
Código:
Y este es el que procesa, en el cual tengo todas las dudas:<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></select> </td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" value="Agregar"> </td> <td> </td> </tr> </form> </table>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"; } ?>
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");