PHP - Un INSERT INTO con datos tipo CHECKBOX

 
Vista:
Imágen de perfil de retegi84
Val: 37
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Un INSERT INTO con datos tipo CHECKBOX

Publicado por retegi84 (14 intervenciones) el 11/06/2017 21:00:11
Buenas,
Necesito introducir mediante un formulario algunos datos mediante checkbox (no se si deberían ser BIT o BOOLEAN), pero no se bien cómo se hace. Al introducir datos tipo TEXT o PASSWORD no tengo problema. El problema es al introducir datos para CHECKBOX

¿Qué tipo de dato debe ser, BIT o BOOLEAN?
¿Qué diferencia hay al hacer un GET_POST incluso después al hacer INSERT INTO...VALUES... entre los de tipo TEXT (que lo hago sin problema) y los de tipo BIT o BOOLEAN?

En el caso de este formulario trata de introducir si es profesor o no y me devuelve el siguiente error:

Notice: Undefined index: soyProfesor in /Applications/XAMPP/xamppfiles/htdocs/todosobrejazz/registrar.php on line 10
New record created successfully


Saludos y muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Un INSERT INTO con datos tipo CHECKBOX

Publicado por xve (6935 intervenciones) el 12/06/2017 07:59:51
Hola, yo para los check utilizo un campo tipo tinyint y utilizo el 0 o 1 para determinar si esta seleccionado o no. La verdad es que puedes utilizar cualquier campo para ello. Yo utilizo tinyint, porque es el mas pequeño de los numéricos.

El mensaje que te da, no es un error, es una notificación que te dice que el indice soyProfesor no existe en el array que estas consultando.

No se si me he sabido explicar... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Un INSERT INTO con datos tipo CHECKBOX

Publicado por gonzalo (615 intervenciones) el 12/06/2017 21:00:30
buenas noches don retegi824.

aqui el caso es como vas a recuperar los checkbox, me explico.

un checkbox activado va a retornar 1 o lo que hayas puesto en el value.

Post va a regresar 1 o el valor si es que el checkbox esta activado o nada (no sale en $_POST) si no esta activado.

asi que si en el query vas a mencionar todos los valores de los checkbox entonces debes tener una variable por cada checkbox inicializada con un valor por default, normalmente es cero o un valor en texto.

lees el $post, asignas los valores a las variables correspondientes a los check box activos, armas el query y lo guardas.

y sobre el $_Post seria 0 o 1 si no tiene valor asi que usar bit o tinyint es lo mismo que boolean (porque boolean vale 1 o 0).

sobre post y get, ese depende del como declaraste el <form>

si usas post entonces los valores pasaran a la siguiente pagina sin ser vistos por el cliente (aunque al final si se pueden ver, solo necesitas buscarle el modo), si usas get estos valores van a quedar en la direccion http y podran ser vistos por cualquiera que consulte internet.

me explico

si pasas 1 valor como post entonces si consultas la direccion de la pagina va a salir como

http://MiServidor.com

y su usas get entonces la direccion de la pagina va a salir como


http://MiServidor/MiPagina.php?Objeto1="valor1"&Objeto2="valor2"&ObjetoEtc="Etc1"

asi que estos son muy faciles de ver por lo que te recomiendo que los encryptes antes de procesar el submit.

y acerca de la diferencia con la base de datos la respuesta es: ninguna, lo mismo da un cambo bit en base de datos que un campo checkbox en html, igual es para un "campo varchar" que para un "input type text".

la diferencia esta en la forma en que lo proceses.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar