Foros del Web » Programando para Internet » Jquery »

checkbox php + jquery

Estas en el tema de checkbox php + jquery en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 20/09/2012, 04:31
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta checkbox php + jquery

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
  #2 (permalink)  
Antiguo 20/09/2012, 06:12
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años
Puntos: 14
Respuesta: checkbox php + jquery

Html (he incluido los input nuevoUsuario y contraseña que no los tenias en tu ejemplo y el form):
Código HTML:
Ver original
  1. <div id="permisos">
  2.     <input type="text" id="nuevoUsuario" name="nuevoUsuario">
  3.     <input type="password" id="contrasena" name="contrasena">
  4.     <input type="checkbox" id="permiso" name="permiso" value="gusuarios" /> Gestión de usuarios
  5.     <input type="checkbox" id="permiso2" name="permiso2" value="gidiomas" /> Gestión de idiomas
  6.     <input type="checkbox" id="permiso3" name="permiso3" value="editCuestionario" /> Editar cuestionario
  7.     <input type="checkbox" id="permiso4" name="permiso4" value="estadisticas" /> Estadísticas <br>
  8.  
  9. <input type="button" value="Añadir usuario" onclick="addUsuario()" />
  10. </form>
  11. </div>

JavaScript:
Código Javascript:
Ver original
  1. function addUsuario(){
  2.  
  3.     if($('#nuevoUsuario').val()!=""){
  4.  
  5.         dataString = $('#persmisos').find('form').serialize();                                    
  6.  
  7.         $.ajax({
  8.             url: "scripts/nuevoUsuario.scr.php",
  9.             type: "post",
  10.             data: dataString,
  11.             success: function(data){
  12.                 if(data == "1"){
  13.                     document.location.reload();
  14.                 }else {
  15.                     alert(data);
  16.                 }
  17.             }
  18.         });
  19.     }else {
  20.         alert("El nombre de usuario es obligatorio");
  21.     }
  22.  
  23.    
  24. }

PHP
Código PHP:
Ver original
  1. $link = new conexiondb();
  2.     $obj = new claseUsuario();
  3.  
  4.  
  5.     $obj->nombreUsuario = $_POST['nuevoUsuario'];
  6.     $obj->password = md5($_POST['contrasena']);
  7.  
  8.     if($_POST['gusuarios']!="")
  9.         $obj->gestionUsu = 1;
  10.  
  11.     if($_POST['gidiomas']!="")
  12.         $obj->gestionIdiomas = 1;
  13.  
  14.     if($_POST['editarCuest']!="")
  15.         $obj->editarCuest = 1;
  16.  
  17.     if($_POST['estadisticas']!="")
  18.         $obj->estadisticas = 1;
  19.  
  20.     if($obj->nuevoUsuario($link)){
  21.         echo 1;
  22.     }

Prueba y nos dices :P
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #3 (permalink)  
Antiguo 20/09/2012, 07:29
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: checkbox php + jquery

hola YYs86, gracias por contestar!! He estado viendo el código y en la parte de php sigues utilizando $_POST['gusuarios']...etc y gusuarios, gidiomas, esditarCuest y estadisticas lo cogía del código javascript cuando le pasaba esto: (data = "nuevoUsuario="+nuevoUsuario+"&contrasena="+contra sena+"&gusuarios="+gusuarios+"&gidiomas="+gidiomas +"&editCuestionario="+editCuestionario+"&estadisti cas="+estadisticas;) a data... por lo tanto ahora no lo reconoce. La verdad que no he usado nunca serialize() y no se muy bien como funciona, he leido algo sobre eso pero no me queda muy claro.
  #4 (permalink)  
Antiguo 20/09/2012, 07:41
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años
Puntos: 14
Respuesta: checkbox php + jquery

Vale eso ha sido un fallo, tienes que utilizar el "name" de tus input al capturarlo con php... el resto es igual.

Cambia tu permiso, permiso2, permiso3, permiso4 por nuevoUsuario, contrasena, ....
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #5 (permalink)  
Antiguo 20/09/2012, 07:51
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: checkbox php + jquery

Nada...me sigue saliendo Undefined index: con nuevoUsuario, contrasena, gusuriarios... etc

Etiquetas: ajax, checkbox, funcion, input, js, php
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 01:58.