Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Que los checkbox se envien al hacer submit

Estas en el tema de Que los checkbox se envien al hacer submit en el foro de PHP en Foros del Web. Hola! Como andan? Esta es mi consulta: Estoy practicando PHP. Para que se den una idea este es el programa que estoy haciendo: Como ven, ...
  #1 (permalink)  
Antiguo 19/06/2013, 15:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Que los checkbox se envien al hacer submit

Hola! Como andan?

Esta es mi consulta: Estoy practicando PHP.

Para que se den una idea este es el programa que estoy haciendo:



Como ven, hay una tabla con un checkbox por cada fila. Y hay un boton "Borrar datos seleccionados" que al clickearlo, hace el submit a la misma página enviando por la url el parametro "borrar", osea envia: www.pagina.php?accion=borrar

El problema es que los checkbox no están dentro del formulario donde esta el botón de submit. Y esto genera que los checkbox involucrados no se envien por $_REQUEST.



Osea tenemos por un lado:

Código:
<form method="post" action="ejercicio60-alumnos_lst.php?accion=borrar">			
			<input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
</form>
Y por otro lado (Solo puse lo necesario lo demás lo borre):

Código:
echo "<form method=\"post\">";

while($reg != false)
{
echo "<td><input type=\"checkbox\" value=\"$valuecheckbox\" name=\"$namecheckbox\"></td>";
}

echo "</form>";
Tenemos dos formularios, uno con un boton submit que redirige a la misma pagina y que funciona perfectamente. Otro con varios checkbox. El problema es que cuando el usuario hace click en "Borrar" y se hace el submit, luego pregunto por:

Código:
if(isset($_REQUEST[$nombrecheckbox]))
{

}
Y nunca da TRUE. Siempre da FALSE osea que no guarda las variables de los checkbox en el $_REQUEST. Entienden? Yo quiero que las variables de los checkbox se guarden en el $_REQUEST. O de alguna manera poder acceder a los values de esos checkbox.

Muchas Gracias!!
Balium
  #2 (permalink)  
Antiguo 19/06/2013, 15:33
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Que los checkbox se envien al hacer submit

pfff, para comenzar se desaconseja el uso de $_REQUEST por seguridad, ahora, como pretendes que se envíen los checkbox si no los metes dentro del form?, el navegador no es adivino! por lo tanto debes meter SI o SI los checkbox dentro del form para que sean enviados, por ultimo, la forma en que nombras los checkbox es erronea, o por lo menos, la peor forma, lo mejor es indicar el mismo nombre a todos los checkbox solo agregando corchetes al nombre...

Código HTML:
Ver original
  1. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  2. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  3. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  4. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  5. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  6. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  7. <input type="checkbox" name="borrar[]" value="tuvalor"/>
  8. <input type="checkbox" name="borrar[]" value="tuvalor"/>

Ya para procesarlos solo es necesario que lo interpretes como un array...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 19/06/2013, 15:40
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Que los checkbox se envien al hacer submit

para saber que variables recibes por post sea lo que sea utiliza

print_r($_POST) te enviara el arreglo de tus variables POST o print_r($_GET) si las que deseas mostrar son tipo GET
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #4 (permalink)  
Antiguo 19/06/2013, 15:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Muchas gracias por tu respuesta. Me sirvio mucho lo de los arrays.
Pero creo que no entendiste.

Yo tengo SI O SI que tener DOS formularios. Un formulario con el boton submit y otro formulario con los checkbox. Tienen que SI O SI estar en formularios separados.
Porque son dos funciones diferentes. Este es el código completo por si alguien lo quiere ver:

Código:
<html>
<head>
</head>
<body>
	<?php
		
		session_start();
		$accion = "";
		if(isset($_REQUEST['accion'])) $accion = $_REQUEST['accion'];
		
		if($accion == "borrar")
		{
			$borraralumnos = GetSelectedValuesFromGrid("grillaAlumnos");

			echo "Alumnos a borrar: ".count($borraralumnos);
			for($i=0;$i< count($borraralumnos);$i++)
			{
				echo $borraralumnos[i]."<br>";;
			}
		}

		CrearGrillaAlumnos();
	?>

		<form method="post" action="ejercicio60-alumnos_lst.php?accion=borrar">			
			<input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
		</form>
	<?php

		function GetSelectedValuesFromGrid($gridname)
		{
			
			$nrofilas = $_SESSION[$gridname."rows"];

			echo "Filas: ".$nrofilas."<br>";
			for($i=1;$i<=$nrofilas;$i++)
			{
				$nombrecheckbox = "chk".$gridname.$i;

				echo $nombrecheckbox."<br>";
				if(isset($_REQUEST[$nombrecheckbox]))
				{
					$values[] = $_REQUEST[$nombrecheckbox];					
				}
			}


		}

		function CrearGrillaAlumnos()
		{
			$alumnos = GetAlumnos();

			if($alumnos != false)
			{
				AddHTMLGrillaWithLinksAndCheckBox($alumnos,"ejercicio60-alumnos_abm.php","codigo","grillaAlumnos");
				
			}
		}	


		function AddHTMLGrillaWithLinksAndCheckBox($registros,$link,$clave,$nombre)
		{
			$columnas = GetColumnas($registros);			

			$i = 0;
			echo "<form method=\"post\">";

			echo "<table border=\"1\">";
			echo "<tr>";

			echo "<th></th>";			// Columna checkbox
			while($i < count($columnas))
			{
				if ($columnas[$i] != $clave)
				{			
					echo "<th>".$columnas[$i]."</th>";					
				}
				$i++;					
			}
			echo "<th></th>";			// Columna modificar
			echo "</tr>";



			$reg = mysql_fetch_array($registros);
			$j = 1;

			while($reg != false)
			{
				echo "<tr>";
				$valuecheckbox = $reg[$clave];
				$namecheckbox = "chk".$nombre.$j;
				echo "<td><input type=\"checkbox\" value=\"$valuecheckbox\" name=\"$namecheckbox\"></td>";
				
				for($i=0;$i<count($columnas);$i++)
				{
					if($columnas[$i] == $clave)
					{
						$codigo = $reg[$columnas[$i]];
					}
					else
					{
						echo "<td>";
						echo $reg[$columnas[$i]];
						echo "</td>";
					}
				}	

				$linkcompleto = $link."?value=modificar&clave=".$codigo;
				echo "<td><a href=\"$linkcompleto\">Modificar</a></td>";
				echo "</tr>";
				
				$j++;
				$reg = mysql_fetch_array($registros);
			}
			$namehidden = $nombre."rows";
			$j--;

			
			$_SESSION[$namehidden] = $j; 
			

			//echo "<input type=\"hidden\" name=\"$namehidden\" value=\"$j\">";

			echo "</table>";
			echo "</form>";
		}

		function GetColumnas($registros) 
		{ 
			$fields = array();
			for($i = 0; $i < mysql_num_fields($registros); $i++) 
			{
    				$field_info = mysql_fetch_field($registros, $i);
    				$fields[] = $field_info->name;
			}
			return $fields;			
		} 

		function GetAlumnos()
		{
			$conexion = ConectarIngresar_MySql();
			
			if($conexion != false)
			{
				$query = "select a.codigo,a.nombre,a.email,c.nombre as nombrecurso from alumnos a inner join cursos c on a.codigocurso = c.codigo";
				$registros = Ejecutar_MySqlQuery($query,$conexion);				
				return $registros;
			}
			else
			{
				return false;
			}	
			Cerrar_MySql($conexion);
		}
	
		function ConectarIngresar_MySql()
		{
			$conexion = Conectar_MySql("localhost","root","");

			if($conexion != false)
			{
				$pudo = Seleccionar_MySql("bbdd_phpya1",$conexion);
			
				if ($pudo != false)
				{
					return $conexion;
				}
				else
				{
					return false;
				}
			}
			else
			{
				return false;
			}
		}


		function Cerrar_MySql($conexion)
		{
			mysql_close($conexion);
		}


		function Ejecutar_MySqlQuery($query,$conexion)
		{
			$pudo = mysql_query($query,$conexion);
			return $pudo;	
		}

		function Seleccionar_MySql($base,$conexion)
		{
			$pudo = mysql_select_db($base,$conexion);
			return $pudo;

		}
		
		function Conectar_MySql($dir,$user,$pass)
		{
			$conexion = mysql_connect($dir,$user,$pass);
			return $conexion;			
		}

	?>
</body>
</html>
Muchas gracias!!
  #5 (permalink)  
Antiguo 19/06/2013, 15:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por PIRRUMAN Ver Mensaje
para saber que variables recibes por post sea lo que sea utiliza

print_r($_POST) te enviara el arreglo de tus variables POST o print_r($_GET) si las que deseas mostrar son tipo GET
Muchas gracias amigo pero ya probe con $_POST y no funciona. No se como hacerlo, por favor ayudenme.
  #6 (permalink)  
Antiguo 19/06/2013, 15:47
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Pero creo que no entendiste.

Yo tengo SI O SI que tener DOS formularios. Un formulario con el boton submit y otro formulario con los checkbox. Tienen que SI O SI estar en formularios separados.
Y creo que tu NO entendiste que no puedes hacer lo que pretendes?, para que tener 2 formularios?, en todo caso se puede modificar el action del form si es que es el caso...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 19/06/2013, 15:49
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Que los checkbox se envien al hacer submit

a que pagina mandas los check para procesarlos ? a la misma?
tu form no tiene action

Cita:
echo "<form method=\"post\">";
o podrias poner el codigo donde quieres cachar los valores de los checks?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #8 (permalink)  
Antiguo 19/06/2013, 15:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por Nemutagk Ver Mensaje
para que tener 2 formularios?

Tengo una funcion creada por mi que se llama

Código:
AddHTMLGrillaWithLinksAndCheckBox
Que recibe $resultados (generados previamente por un mysql_query)
y que arma una tabla (o grilla) Con todo lo que viste en la imagen que postee antes. Incluidos los checkbox.

Y por otro lado tengo un formulario totalmente independiente a la funcion que tiene lo siguiente:

Código:
		<form method="post" action="ejercicio60-alumnos_lst.php?accion=borrar">			
			<input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
		</form>
Entonces, para que tener dos formularios? Respuesta: Son totalmente independientes uno del otro, se podría decir que son dos funciones diferentes. Y quiero garantizar el encapsulamiento de las funciones. Una arma la grilla y otra simplemente arma el formulario con el submit. Sin embargo, quiero poder recibir los values de los checkbox ya sea por $_REQUEST o por lo que sea...

Gracias

Última edición por Balium; 19/06/2013 a las 15:57
  #9 (permalink)  
Antiguo 19/06/2013, 16:01
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Que los checkbox se envien al hacer submit

Cita:
para que tener dos formularios? Respuesta: Son totalmente independientes uno del otro, se podría decir que son dos funciones diferentes. Una arma la grilla y otra simplemente arma el formulario con el submit
¬¬ en serio?, creo que no tienes ni idea que es realmente un formulario o como funciona, en fin...

NO puedes pretender enviar datos por un formulario sin tener dichos datos (input) dentro de los tag "form", ahora, al formulario no le importa si hay una grilla de por medio o no, parece que estas confundiendo lo que es una función y lo que es un formulario, leyendo tu código (que deja mucho que desear) no se ve por NINGÚN LADO una razón para querer tener 2 formularios (y ojo dije formularios, no funciones), pero bueno, de todas formas solo tienes 2 opciones...


a) o manipulas el formulario (donde tienes el botón submit) con javascript, para "mover" o "clonar" todos los checkbox marcados al formulario (que sinceramente es una tontería)

b) meter tanto los checkbox y el botón submit dentro del formulario (dentro de los tag "form") la cual es la forma natural de como funciona un formulario...

Solo queda ver cuanto quieres dificultarte tu mismo tu tarea, ya que no existe una forma "mágica" de hacer lo que pretendes...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 19/06/2013, 16:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por PIRRUMAN Ver Mensaje
a que pagina mandas los check para procesarlos ?

tu form no tiene action
Mi segundo form no tiene action pero el primero si lo tiene. A que pagina mando los checks para procesarlos? Creo que ahí esta la respuesta. Ya se como hacerlo, el formulario debe abarcar todo el contenido de la página. Pero de todas formas así estaría rompiendo un principio fundamental de las buenas prácticas de la programación: El encapsulamiento. Ya que la función que arma la tabla debería ser independiente y funcionar sin necesidad de ningún codigo extra por fuera de la función. Necesitaria que alguien me diga como hacerlo sin tener que romper con el encapsulamiento de la función.


Cita:
Iniciado por PIRRUMAN Ver Mensaje
o podrias poner el codigo donde quieres cachar los valores de los checks?
Si, por supuesto, es este:

Código:
		function GetSelectedValuesFromGrid($gridname)
		{
			
			$nrofilas = $_SESSION[$gridname."rows"];

			echo "Filas: ".$nrofilas."<br>";
			for($i=1;$i<=$nrofilas;$i++)
			{
				$nombrecheckbox = "chk".$gridname.$i;

				echo $nombrecheckbox."<br>";
				if(isset($_REQUEST[$nombrecheckbox]))
				{
					$values[] = $_REQUEST[$nombrecheckbox];					
				}
			}
		}
  #11 (permalink)  
Antiguo 19/06/2013, 16:05
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Que los checkbox se envien al hacer submit

lo que pasa es que si quieres tener dos form cada uno debe tener algo que le haga submit y en tu casa solo tienes un boton para hacer submit al primer form

en el segundo form donde estan los check no existe ningun ..input submit por ejemplo
agrega por ejemplo:

Cita:


//echo "<input type=\"hidden\" name=\"$namehidden\" value=\"$j\">";
echo "<tr><td><input type="submit" value="enviarchecks"></td></tr>";
echo "</table>";
echo "</form>";
utiliza de nuevo el print_r($_POST) para verificar que recibiste las variables
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #12 (permalink)  
Antiguo 19/06/2013, 16:09
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por Nemutagk Ver Mensaje
¬¬ en serio?, creo que no tienes ni idea que es realmente un formulario o como funciona, en fin...

NO puedes pretender enviar datos por un formulario sin tener dichos datos (input) dentro de los tag "form", ahora, al formulario no le importa si hay una grilla de por medio o no, parece que estas confundiendo lo que es una función y lo que es un formulario, leyendo tu código (que deja mucho que desear) no se ve por NINGÚN LADO una razón para querer tener 2 formularios (y ojo dije formularios, no funciones), pero bueno, de todas formas solo tienes 2 opciones...


a) o manipulas el formulario (donde tienes el botón submit) con javascript, para "mover" o "clonar" todos los checkbox marcados al formulario (que sinceramente es una tontería)

b) meter tanto los checkbox y el botón submit dentro del formulario (dentro de los tag "form") la cual es la forma natural de como funciona un formulario...

Solo queda ver cuanto quieres dificultarte tu mismo tu tarea, ya que no existe una forma "mágica" de hacer lo que pretendes...
En primer lugar tratame con respeto, estás hablando con un analista de sistemas recibido y con dos años de experiencia en programación. Y aunque así no lo fuera, aún así deberías tratarme con respeto.

En cuanto a la opción b que mencionas, que la entiendo perfectamente y se como hacerla...lo que no entiendes es que de esta forma estaría rompiendo con el encapsulamiento de la función. No, no me confundo. Se lo que es un formulario y se lo que es una función, he utilizado funciones desde el 2007 y conozco del tema.

Yo no quiero romper con el encapsulamiento de la función. Nada más...
  #13 (permalink)  
Antiguo 19/06/2013, 16:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por PIRRUMAN Ver Mensaje
lo que pasa es que si quieres tener dos form cada uno debe tener algo que le haga submit y en tu casa solo tienes un boton para hacer submit al primer form

en el segundo form donde estan los check no existe ningun ..input submit por ejemplo
agrega por ejemplo:



utiliza de nuevo el print_r($_POST) para verificar que recibiste las variables
Muchas gracias amigo por tu respuesta. Ya probé la forma que vos me dijsite y funcionó. Entiendo perfectamente lo que me decís. De todas formas...me gustaría que el botón submit sea totalmente independiente de la función que crea la grilla.
Pero al parecer, no se puede hacer. Yo porque vengo de programar en C# y era totalmente diferente a PHP. Y tengo la mentalidad enfocada en las cosas que aprendí cuando usaba C#.

Al parecer, si quiero crear una grilla con una funcion, voy a tener que incluir si o si el boton "submit" dentro de la misma grilla, o mas bien, dentro del mismo formulario que encapsula a la grilla. Porque de otra manera, no funcionará.

Gracias
  #14 (permalink)  
Antiguo 19/06/2013, 16:21
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por Balium Ver Mensaje
En primer lugar tratame con respeto, estás hablando con un analista de sistemas recibido y con dos años de experiencia en programación. Y aunque así no lo fuera, aún así deberías tratarme con respeto.

En cuanto a la opción b que mencionas, que la entiendo perfectamente y se como hacerla...lo que no entiendes es que de esta forma estaría rompiendo con el encapsulamiento de la función. No, no me confundo. Se lo que es un formulario y se lo que es una función, he utilizado funciones desde el 2007 y conozco del tema.

Yo no quiero romper con el encapsulamiento de la función. Nada más...
¬¬ y aun con 2 años de experiencia y "titulado" pretendes hacer algo que no es posible de manera "natural" solo por respetar el encapsulamiento de la función?, pff, no tiene nada que ver, para comenzar, en todo caso tu función AddHTMLGrillaWithLinksAndCheckBox() solo debería generar la grilla NO incluir un formulario, de hecho, siguiendo la "lógica" de tu aplicación los tags "forms" deben ir fuera de dicha funciòn, por ultimo, el meter todo el HTML generado dentro del formulario no afecta en nada la lógica, desde un comienzo todo lo estas metiendo dentro del tag "body", meter el código dentro de un formulario es exactamente lo mismo...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 19/06/2013, 16:23
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Que los checkbox se envien al hacer submit

si lo que deseas es que el btono sea independiente puedes utilizar javascript,tendrias que colocar un id o nombre a tu formulario
Cita:
echo "<form method=\"post\" name=\"miform\" id=\"miform\">";
y un boton de la forma
Cita:
<input type="button" value="borrar" onclick="document.getElementById("mi_form").submit ();">
o
<input type="button" value="borrar" onclick="document.form[0].submit()">
algo asi y podrias colocar el boton donde te plazca, busca la forma de hacer submit a un formulario mediante javascript
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #16 (permalink)  
Antiguo 19/06/2013, 16:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por Nemutagk Ver Mensaje
¬¬ y aun con 2 años de experiencia y "titulado" pretendes hacer algo que no es posible de manera "natural" solo por respetar el encapsulamiento de la función?, pff, no tiene nada que ver, para comenzar, en todo caso tu función AddHTMLGrillaWithLinksAndCheckBox() solo debería generar la grilla NO incluir un formulario, de hecho, siguiendo la "lógica" de tu aplicación los tags "forms" deben ir fuera de dicha funciòn, por ultimo, el meter todo el HTML generado dentro del formulario no afecta en nada la lógica, desde un comienzo todo lo estas metiendo dentro del tag "body", meter el código dentro de un formulario es exactamente lo mismo...
Si afecta a la lógica, porque la función no funcionará si no existe el formulario fuera de la función. Por lo tanto la función está dependiendo de algo que pase afuera para poder funcionar. Pero de todas formas...creo que la solución "B" que vos sugeriste, es la mejor opción.

resumiendolo, sería algo asi:

Código:
<form method="post" action="mipagina.php?accion=borrar">

<?php
          AddHTMLGrillaWithLinksAndCheckBox(<<todos los parametros>>);   
?>
  <input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
</form>

Esa es la opción que eligo aún teniendo en cuenta que no estoy garantizando el encapsulamiento de la función.

Cita:
Iniciado por PIRRUMAN Ver Mensaje
si lo que deseas es que el btono sea independiente puedes utilizar javascript,tendrias que colocar un id o nombre a tu formulario


y un boton de la forma

algo asi y podrias colocar el boton donde te plazca, busca la forma de hacer submit a un formulario mediante javascript
Amigo, prefiero no utilizar javascript por el momento ya que hace mucho que no lo utilizo y debo ponerme al día con eso. Muchas gracias de todas formas :)
  #17 (permalink)  
Antiguo 19/06/2013, 16:44
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Que los checkbox se envien al hacer submit

si lo haces de esta forma:
Cita:
<form method="post" action="mipagina.php?accion=borrar">

<?php
AddHTMLGrillaWithLinksAndCheckBox(<<todos los parametros>>);
?>
<input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
</form>
tendrias que eliminar la creacion de form dentro de tu funcion por que si no al final tendras

Cita:
<form method="post" action="mipagina.php?accion=borrar"><!---que creaste--->

<?php
<form method='post'><!---form de tu funcion--->
<table >
etc...

</form>
?>
<input type="submit" value="Borrar datos seleccionados" name="cmdBorrar">
</form>
lo que si te causaria complicaciones
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #18 (permalink)  
Antiguo 19/06/2013, 16:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Que los checkbox se envien al hacer submit

Cita:
Iniciado por PIRRUMAN Ver Mensaje
si lo que deseas es que el btono sea independiente puedes utilizar javascript,tendrias que colocar un id o nombre a tu formulario


y un boton de la forma

algo asi y podrias colocar el boton donde te plazca, busca la forma de hacer submit a un formulario mediante javascript
Cita:
Iniciado por PIRRUMAN Ver Mensaje
si lo haces de esta forma:

tendrias que eliminar la creacion de form dentro de tu funcion por que si no al final tendras



lo que si te causaria complicaciones
Seguro amigo, muchas gracias por recordarmelo, obviamente que no quiero tener dos forms, ahora quiero tener uno que encapsule todo el código que venga despues.

Muchas Gracias Pirru!!
Muchas Gracias Nemutagk!!

Ambos me ayudaron, así que por supuesto que siempre doy las gracias y voy a estar revisando el foro para ayudar a nuestros compañeros.

Besos :)

Etiquetas: checkbox, formulario, submit, tabla, variables
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 23:30.