Foros del Web » Programando para Internet » PHP »

Radio Buttons (básico)

Estas en el tema de Radio Buttons (básico) en el foro de PHP en Foros del Web. Hola amigos, soy neófito en PHP, por eso les agradeceré la ayuda. Tengo una archivo html donde hice una encuesta y un php. En el ...
  #1 (permalink)  
Antiguo 11/03/2008, 14:29
 
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Radio Buttons (básico)

Hola amigos, soy neófito en PHP, por eso les agradeceré la ayuda.

Tengo una archivo html donde hice una encuesta y un php.

En el html tengo las siguientes lineas:

1. Please indicate your professional field:<br />
<input name="radiobutton" type="radio" value="Investor" /> Investor<br />
<input name="radiobutton" type="radio" value="Entrepreneur" />
Entrepreneur<br />
<input name="radiobutton" type="radio" value="Corporate Executive" />
Corporate Executive<br />
<input name="radiobutton" type="radio" value="Service Provider" />
Service Provider<br />
<input name="radiobutton" type="radio" value="Other" />
Other


Y en el PHP lo siguiente:
<?php
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$body = '<html><head></head><body>' .

'<b> 1. Please indicate your professional field: </b> ' . $_POST['radiobutton'] . '<br>' .

'</body></html>';

mail("[email protected]", "Survey", $body, $headers);
?>

Cuando la persona que llena esta encuesta hace clic en cualquiera de las opciones todo funciona bien, el problema es cuando no lo hace y deja la opcion en blanco aparece el siguiente error:

Notice: Undefined index: radiobutton in xxxx on line 29

Como puedo hacer para que funcione correctamente sin necesidad que tengan que llenar algun campo forsozamente? cuando se trata de un campo de texto no me muestra este error, el problema solo se presenta en radio buttons o checkboxes.

De antemano muchas gracias por la ayuda!!!!
  #2 (permalink)  
Antiguo 11/03/2008, 14:56
 
Fecha de Ingreso: marzo-2008
Ubicación: Venezuela
Mensajes: 60
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Radio Buttons (básico)

Hola danielgnr,
podrías colocar el código completo?
no entiendo exactamente a qué te refieres, supongo que no se setea la variable y después cuando la recibes en el POST da el error, pero necesito ver un poco más de código

saludos!
  #3 (permalink)  
Antiguo 11/03/2008, 17:45
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Radio Buttons (básico)

Ah ya entiendo, el problema es que cuando tú marcas un option envía el campo pero si no está marcado no envía nada, ni siquiera existe ese campo, bien ahi mismo está la solución. solo haz un if (isset(, de este modo:

if (isset($_POST["radiobutton"])) echo $_POST["radiobutton"];

Qué quiere decir este código? Pues quiere decir que si el campo existe (porque has marcado una alternativa) se imprime, y si no existe no se imprime nada, así de simple amigo. :D
  #4 (permalink)  
Antiguo 12/03/2008, 09:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Radio Buttons (básico)

Cita:
Iniciado por ElJavista Ver Mensaje
Ah ya entiendo, el problema es que cuando tú marcas un option envía el campo pero si no está marcado no envía nada, ni siquiera existe ese campo, bien ahi mismo está la solución. solo haz un if (isset(, de este modo:

if (isset($_POST["radiobutton"])) echo $_POST["radiobutton"];

Qué quiere decir este código? Pues quiere decir que si el campo existe (porque has marcado una alternativa) se imprime, y si no existe no se imprime nada, así de simple amigo. :D
darioc, el problema es como dice ElJavista, gracias!

Compatriota ElJavista muchas gracias por la ayuda, pero aun no me funciona, tengo la sospecha que estoy teniendo algun problema con la sintaxis, esto es lo que he colocado:

'<b> 1. Please indicate your professional field: </b> ' . $_POST['radiobutton'] .
if (isset($_POST["radiobutton"])) echo $_POST["radiobutton"];
'<br>' .

Muchas gracias nuevamente!
  #5 (permalink)  
Antiguo 14/03/2008, 07:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Radio Buttons (básico)

Una ayuda por favor?
  #6 (permalink)  
Antiguo 14/03/2008, 07:27
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 20 años, 7 meses
Puntos: 3
Re: Radio Buttons (básico)

No tienes que hacer un hecho, sino incluir el dato en la cadena. Es decir:

Código PHP:
$body  '<html><head></head><body>';
$body .= '<b> 1. Please indicate your professional field: </b> ';
if (isset(
$_POST['radiobutton']))
    
$body .= () $_POST['radiobutton'] ;
$body .= '<br>';
$body .=  '</body></html>'
Un saludo
  #7 (permalink)  
Antiguo 01/12/2008, 16:17
 
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Radio Buttons (básico)

Hola!
Muchas gracias a todos por la ayuda, pero aún me falta un poco. Lo más cerca que estuve de solucionar mi problema es con este código:

$body = '<html><head></head><body>' .

'<b> 1. Please indicate your professional field: </b>' ;
if (isset($_POST['radiobutton']))
echo $_POST["radiobutton"] ;

'</body></html>';


Con este código, cuando no se marca una de las alternativas ya no tira ese mensaje de error, osea el problema inicial está solucionado... pero cuando se marca alguna alternativa esta respuesta no llega al correo, sino que aparece en la pagina PHP que yo llamé "gracias", en la parte superior de la página.

Alguna idea por favor?

Muchas gracias!
  #8 (permalink)  
Antiguo 02/12/2008, 06:36
 
Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Radio Buttons (básico)

Una corrección al código por favor? llevo meses tratando de hacerlo funcionar.
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 20:57.