Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/11/2008, 19:21
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: Formularios, Checkbox, PHP y mysql -> ¿Cómo?

Cita:
Iniciado por johncode917 Ver Mensaje
Llevo un tiempo trabajando con formularios e implementadolos por medio de PHP, pero nunca he trabajado con esto y aunque le doy vueltas no se como hacerlo de la manera correcta:

Resulta que tengo un campo que sería:


Temas de intereses

- Musica
- Ocio
- Viajes
- Turismo, etc


Y la idea es que la gente seleccione sus temas de intereses para basado en eso poderles suministrar ese tipo de informacion. Ahora, se que se maneja con Checkbox donde la gente selecciona el que le gusta y no selecciona el que no le gusta.

Pero para serles franco, no tengo ni la menor idea de como se hace el proceso en php. Ahora, yo por ejemplo la cajita de texto la proceso asi:

$nombre = $_POST["nombre"];

Pero el checkbox no se como manejarlo, no se si lo apropiado sea agregar a la tabla usuarios los campos de temas de interes, o si es mejor crear un array con todos, mejor dicho tengo la cabeza hecha un ocho.



Alguien me podria ayudar con este tema?

De antemano, Muchas Gracias.
Hola johncode917. Los checkbox se envían como arrays, hasta ahí es igual que en otro lenguaje.

En PHP para que así sea, no basta con que el grupo tenga el mismo nombre, sino que deben tener [] luego del mismo, ej:

Código:
<input type="checkbox" name="intereses[]" name="intereses[]" value="1" /> Música<br />
<input type="checkbox" name="intereses[]" name="intereses[]" value="2" /> Ocio<br />
<input type="checkbox" name="intereses[]" name="intereses[]" value="3" /> Viajes<br />
Bien, luego del lado de PHP levantas el mismo como un array, harás ésto de la siguiente manera por ejemplo (suponiendo que el método de tu form es POST):

Código PHP:

$intereses 
= empty($_POST['intereses']) ? $_POST['intereses'] : array();

foreach( 
$intereses as $interes ){
    
$sql "insert into usuarios_intereses set interes = '".intval($interes)."', .... ";
    ....

PD: No levantes jamás algo como en tu ejemplo "$var = $_POST['var']", tratalo primero...si no sabes como leete alto de sql injection.

Saludos y espero te sea útil.
__________________
Mi punto de partida es Que Bueno Lo Nuevo