Código:
funciones.js<div id="permisos"> <input type="checkbox" id="permiso" name="permiso" value="gusuarios" /> Gestión de usuarios <input type="checkbox" id="permiso2" name="permiso2" value="gidiomas" /> Gestión de idiomas <input type="checkbox" id="permiso3" name="permiso3" value="editCuestionario" /> Editar cuestionario <input type="checkbox" id="permiso4" name="permiso4" value="estadisticas" /> Estadísticas <br> </div> <input type="button" value="Añadir usuario" onclick="addUsuario()" />
Código:
script.php function addUsuario(){ nuevoUsuario = $("#nuevoUsuario").val(); contrasena = $("#contrasena").val(); gusuarios = $("#permiso").is(':checked'); gidiomas = $("#permiso2").is(':checked'); editCuestionario = $("#permiso3").is(':checked'); estadisticas = $("#permiso4").is(':checked'); if(nuevoUsuario!=""){ data = "nuevoUsuario="+nuevoUsuario+"&contrasena="+contrasena+"&gusuarios="+gusuarios+"&gidiomas="+gidiomas+"&editCuestionario="+editCuestionario+"&estadisticas="+estadisticas; $.ajax({ url: "scripts/nuevoUsuario.scr.php", type: "post", data: data, success: function(data){ if(data == "1"){ document.location.reload(); }else { alert(data); } } }); }else { alert("El nombre de usuario es obligatorio"); } }
Código:
$obj->nuevoUsuario es una función de una clase que tengo y que lo que hace es guardar los datos del nuevo usuario (el nombre, la contraseña y los checkbox seleccionados le doy el valor 1 y los no seleccionados 0) $link = new conexiondb(); $obj = new claseUsuario(); $obj->nombreUsuario = $_POST['nuevoUsuario']; $obj->password = md5($_POST['contrasena']); if($_POST['gusuarios']) $obj->gestionUsu = 1; if($_POST['gidiomas']) $obj->gestionIdiomas = 1; if($_POST['editarCuest']) $obj->editarCuest = 1; if($_POST['estadisticas']) $obj->estadisticas = 1; if($obj->nuevoUsuario($link)){ echo 1; }
El problema está en que si no los selecciono todos me muestra un error diciendo que "Undefined index: editarCuest" o "Undefined index: gidiomas" ...etc
Alguien podría ayudarme? Gracias de antemano