hola, tengo 4 checkbox y necesito saber cuáles de ellos están checkeados...
Código:
<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()" />
funciones.js
Código:
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");
}
}
script.php
Código:
$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;
}
$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)
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