Foros del Web » Programando para Internet » PHP »

Radio En Php Y Sql!!!!!!!!!!!

Estas en el tema de Radio En Php Y Sql!!!!!!!!!!! en el foro de PHP en Foros del Web. HOLA A TODOS... TENGO UN PEQUEÑO PROBLEMA. TENGO UN FORMULARIO EN PHP, DENTRO DEL CUAL TENGO 2 ENTRADAS DE TIPO "RADIO". CUANDO HAGO EL ENVIO ...
  #1 (permalink)  
Antiguo 17/12/2003, 11:11
 
Fecha de Ingreso: septiembre-2003
Mensajes: 96
Antigüedad: 14 años, 2 meses
Puntos: 0
Radio En Php Y Sql!!!!!!!!!!!

HOLA A TODOS...

TENGO UN PEQUEÑO PROBLEMA. TENGO UN FORMULARIO EN PHP, DENTRO DEL CUAL TENGO 2 ENTRADAS DE TIPO "RADIO". CUANDO HAGO EL ENVIO DEL FORMULARIO, SI NO SELECCIONO ALGUNO DE LOS RADIOS QUE TENGO, ME DEVUELVE UN ERROR. CABE MENCIONAR QUE ESTOS VALORES SE VAN A UNA BASE DE DATOS EN SQL. LES PONGO MI CODIGO Y LOS ERRORES QUE ME DEVUELVE, ESPERANDO QUE ME PUEDAN AYUDAR...

CODIGO:
<input type=radio name=sexo value=MASCULINO><font color=#000066 size=2 face=Verdana>
Masculino</font></label>
<br>
<input type=radio name=sexo value=FEMENINO><font color=#000066 size=2 face=Verdana>
Femenino</font></br></td>

PARA ALMACENARLO EN LA BASE DE DATOS ES:
$con = odbc_connect("basephp","sa","","") or die("fallo la conexion");
$sql1 = "insert into currgral (fecha,
...,
...,
sexo,
...)
values($fecha,
...,
...,
'".$_POST["sexo"]."',
...') ";
$query = odbc_do($con, $sql1);
odbc_free_result($query);
odbc_close($con);

EL ERROR QUE ME DEVUELVE CUANDO NO SELECCIONO ALGUNA DE ESTAS DOS OPCIONES ES:
Notice: Undefined index: sexo in c:\inetpub\wwwroot\curricula.php on line 451

ESTA LINEA CORRESPONDE A:
'".$_POST["sexo"]."',

ESPERO ME PUEDAN AYUDAR PORQUE ME URGE...

MIL GRACIAS DE ANTEMANO!

SALUDOS!
  #2 (permalink)  
Antiguo 17/12/2003, 12:06
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Prueba con checked, para que una de las dos quede marcada, también pudes utilizar empty() para saber si está vacia, o con javascript.
  #3 (permalink)  
Antiguo 17/12/2003, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Usas PHP 4.1.0 o superior? (los arrays supergloables $_POST .. etc sólo están disponibles desde esa versión en adelante).

Por lo demás .. no indicas o se vé en el código como formas tu formulario .. Tal vez no has indicado el method (lo cual hace que se asume GET y tu recoges las variabels por POST) o .. indicastes GET en el method ..

Y ... como comentario .. usa comillas en los tag's HTML donde correspondan.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 17/12/2003, 15:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Hombre, en este caso lo normal es usar checked para que este marcada una por defecto (seria como hacer el campo obligatorio).

De todas formas, el "error" te lo da porque en el array POST solo se incluyen los campos que contienen valor.

Lo que deberias hacer es con todos tus campos optativos (que pueden venir vacios) es:
Código PHP:
$sexo_sql=(isset($_POST['sexo']))?$_POST['sexo']:''
Uso el operador ternario (una especie de if...else). Esa linea equivale a:
Código PHP:
$sexo_sql='';
if (isset(
$_POST['sexo'])) {
  
$sexo_sql=$_POST['sexo'];

Es decir, si existe ese elemento en el array POST, $sexo_sql toma ese valor. En caso contrario, lo dejas como cadena vacia (tambien podrias ponerle un valor por defecto, como por ejemplo 'Si, por favor' ).

Luego usarias $sexo_sql en tu consulta.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 12:19.