Foros del Web » Programando para Internet » PHP »

Gestionar radio button con Php

Estas en el tema de Gestionar radio button con Php en el foro de PHP en Foros del Web. Hola, lo que deseo es un formulario que contenga dos radio button para seleccionar el clasico sexo: masculino femenino, pero no se plantiarme bien como ...
  #1 (permalink)  
Antiguo 21/08/2009, 09:21
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Gestionar radio button con Php

Hola, lo que deseo es un formulario que contenga dos radio button para seleccionar el clasico sexo: masculino femenino, pero no se plantiarme bien como lo voy a hacer, no se si es lo mismo como una caja de verificación en la que la sintaxis era así
Código HTML:
<input name="Tour[]" type="checkbox" id="Tour0" value="valor" /> 
y recibirlo con un php así
Código PHP:
foreach ($_POST['Tour'] as $id){
    
$message_send $message_send "Tour :" $id "\n";

Deseo saber como mandar el valor del radio button, muchas gracias.
  #2 (permalink)  
Antiguo 21/08/2009, 09:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Gestionar radio button con Php

El uso del radio boton es mas bien escoger entre multiples opciones. En otras palabras tienes que asignar el mismo nombre a todos los botones de radio. Por ejemplo si tu quieres escoger entre masculino y femenino podrías colocar el nombre de Genero
Código html:
Ver original
  1. <input type="radio" name="Genero" value="Masculino" />
  2. <input type="radio" name="Genero" value="Femenino" />
No se puede crear un array porque sino no sería util la funcion de radio que es escoger entre multiple opciones. Para escoger mas de una opcion se debe usar checkbox
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/08/2009, 10:02
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Gracias Abimaelrc, quieres decir que bastara con que yo nombre a mis radio button así:
Código HTML:
<input name="Genero" type="radio" id="Genero" value="Masculino" />
<input name="Genero" type="radio" id="Genero" value="Femenino" /> 
y al seleccionar cualquiera de ellos se enviara el valor del seleccionado, o tengo que validar despues cual de los radio button estan seleccionados
  #4 (permalink)  
Antiguo 21/08/2009, 10:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Gestionar radio button con Php

Con tan solo usar $_GET["Genero"] o $_POST["Genero"] debes saber cual selecciono. Ahora, puede que no haya seleccionado uno (a menos que hayas puesto uno por defecto) en ese caso valida con javascript si selecciono uno o con el mismo php ver si sale vacio con empty()
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 21/08/2009, 10:54
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Listo, gracias voy a probarlo
  #6 (permalink)  
Antiguo 21/08/2009, 12:03
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Hola Abimaelrc, sabes sea cual sea el genero que yo haya seleccionado (masculino o femenino) solo me llega el valor del primero Masculino, me supongo que es por que esta posicionado primero, o tal vez sea porque puse como predeterminado seleccionado el redio button masculino, alguna sugerencia
  #7 (permalink)  
Antiguo 21/08/2009, 12:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Gestionar radio button con Php

¿Si seleccionas femenino te trae ese valor? Si no es así coloca lo que hiciste.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 21/08/2009, 13:15
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Sea que haya seleccionado Femenino o Masculino siempre me bota el valor de masculino
Código HTML:
Male<input name="Sex" type="radio" id="Sex" value="Male">
Female<input name="Sex" type="radio" id="Sex" value="Female" checked> 
mi php
Código PHP:
if(isset($_POST['Submit']) and $capt->check_result()){        
    
$message_send "Message from the web<br><br>      
    Name: "
.utf8_decode($_POST['Name'])." <br>
    E-mail: "
.utf8_decode($_POST['Email'])." <br>
    Sex: "
.utf8_decode($_POST['Sex'])." <br>//Esta el envio de genero
    Questions: "
.utf8_decode($_POST['Questions'])." <br>";
    foreach (
$_POST['Tour'] as $id){
    
$message_send $message_send "Tour :" utf8_decode($id) . "<br>";
} ...] 
Pero antes de recoger la informacion el formulario hace una validación en un js (se valida por un captcha)
Código PHP:
function get(obj) {
      var 
poststr "Name=" encodeURI(  
      
document.getElementById("Name").value ) +
      
"&Email=" encodeURIdocument.getElementById("Email").value )+
      
"&Sex=" encodeURIdocument.getElementById("Sex").value )+
      
"&Questions=" encodeURIdocument.getElementById("Questions").value )+
      
"&capt=" encodeURIdocument.getElementById("capt").value )+              
      
"&Submit=" encodeURIdocument.getElementById("Submit").value );
      for(
i=0i<=31i++){ 
              if(
document.getElementById("Tour"+i).checked
            
poststr poststr "&Tour[" "] = " encodeURI(document.getElementById("Tour"+i).value ); 
             }
      
makePOSTRequest('captcha/i-envio-solicitud.php'poststr);
   } 
  #9 (permalink)  
Antiguo 21/08/2009, 13:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Gestionar radio button con Php

En el id debes indicar diferentes porque debe ser unico en toda la pagina, si llamas a traves de id te va a seleccionar la primera vez que se menciona si tienes duplicidad de id. Mi sugerencia que si vas a controlar un radio boton lo hagas por el nombre y uses [] al lado del nombre en este caso
Código html:
Ver original
  1. document.formulario.Sex[0].vlaue //indicara Male
  2. document.formulario.Sex[1].value //indicara Female
Si quieres usa
Código html:
Ver original
  1. document.getElementsByName("Sex")[0].value //indicara Male
  2. document.getElementsByName("Sex")[1].value //indicara Female
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 21/08/2009, 13:38
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Ok lo probare
  #11 (permalink)  
Antiguo 21/08/2009, 13:56
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Hola disculap Abimaelrc he definido mis radio button sin el id
Código HTML:
<input name="Sex" type="radio" value="Male"> 
y donde gestiono la validación no comprendo como poner los corchetes
Código PHP:
function get(obj) {
   var 
poststr "Name=" encodeURIdocument.getElementById("Name").value ) +
   ...
   
"&Sex=" encodeURIdocument.getElementByName("Sex")[0].value )+
   
"&Sex=" encodeURIdocument.getElementByName("Sex")[1].value )+
   ...
   
makePOSTRequest('captcha/i-envio-solicitud.php'poststr);

Puse así y me salio error, como lo debería definir la verdad no comprendi bien, gracias
  #12 (permalink)  
Antiguo 21/08/2009, 14:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Gestionar radio button con Php

porque estas pasando los dos datos Tu solamente requires pasar el dato que este seleccionado. Para eso tienes que verificar cual esta seleccionado y para eso necesitarias pasar el que este seleccionado a una variable y ahi la pasas al query. Me refiero algo así
Código javascript:
Ver original
  1. function get(obj){
  2.   var varSex = "";
  3.   if(document.getElementsByName("Sex")[0].checked){
  4.     varSex = document.getElementsByName("Sex")[0].value;
  5.   }else if(document.getElementsByName("Sex")[1].checked){
  6.     varSex = document.getElementsByName("Sex")[1].value;
  7.   }
  8.    var poststr = "Name=" + encodeURI( document.getElementById("Name").value ) +
  9.    ...
  10.    "&Sex=" + varSex +
  11.    ...
  12.    makePOSTRequest('captcha/i-envio-solicitud.php', poststr);
  13. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 21/08/2009, 14:14
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Gestionar radio button con Php

Muchas gracias Abimaelrc, no habria comprendido bien , ya me salio con tu ayuda, muchas gracias
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 14:06.