PHP - Ayuda con Funciones radio y checkbox

 
Vista:
sin imagen de perfil
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 18/04/2021 19:16:26
AMIGOS ESTOY HACIENDO UN PEQUEÑO FORMULARIO QUE CONSTA DE
INGRESAR UN NOMBRE
SELECIONAR SEXO (RADIO)
SELECCIONAR CURSOS DE INTERES(CHECKBOX)
SELECCIONAR DISTRITOS
INGRESAR COMENTARIOS EN UN TEXTAREA

EL FORMULARIO FUNCIONA SI YO INGRESO Y MARCO TODO EN MI FORMULARIO.EL PROBLEMA ESTA QUE SI YO NO MARCO NADA O NO INGRESO NADA OBTENGO SI BIEN ES CIERTO MENSAJE DE ASVISO COMO POR EJEMPLO
DEBE INGRESAR NOMBRE
DEBE SELECCIONAR SEXO
ETC ETC
PERO TAMBIEN OBTENGO ESTE ERROR
( ! ) Notice: Undefined index: radio1 in C:\wamp\www\web\proyectos\cursos\pagina2.php on line 78

( ! ) Notice: Undefined index: check1 in C:\wamp\www\web\proyectos\cursos\pagina2.php on line 78

VOY ADJUNTAR MI CODIGO HTML Y MI CODIGO PHP EN UNA CARPETA COMPRIMIDA TODO LO HAGO CON FUNCIONES PORQUE ESTOY PRACTICANDO Y APRENDIENDO FUNCIONES


formulario
ERROR
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 jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por jose (71 intervenciones) el 18/04/2021 20:31:33
Hola Robokick,

Deberías incluir el codigo php en el html. El formulario lo verás perfectamente no veo que interactue con el php.

Si añades esto al html al inicio
<?php include('pagina2.php'); ?>


También eliminaría toda referencia al código html de la página2.php

y movería la llamada a la función a la página1.php

1
2
3
4
5
6
7
8
<?php
//LLAMANDO A LA FUNCION
 
	cursos($_POST['nombre'],
	$_POST['radio1'],$_POST['check1'],
	$_POST['distrito'],$_POST['texto']);
 
?>

A ver si así te funciona.
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 18/04/2021 21:03:52
Hola Jose
En mi html llamo al archivo pagina2.Php con el <form action="pagina2.php">
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
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por jose (71 intervenciones) el 18/04/2021 21:32:12
Jopes no lo había visto.
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 18/04/2021 21:51:53
Si así es. Entonces tengo ese problema q indicó líneas arriba si no usará funciones creo q funcionaria todo pero como quiero aprende a usar funciones se me ha presentado ese problema
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 19/04/2021 07:55:35
Hola Robokick, a diferencia del input tipo "text", los input tipo "radio" y "checkbox", si no seleccionas ninguna opción, no se envia al enviar el formulario.

Por lo tanto tiene que revisar que que exista ese indice en el array $_POST

Puedes hacerlo con
1
if (isset($_POST["radio1"])) {...}
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 19/04/2021 15:48:34
Hola Joel que tal,
Los isset los uso dentro de la funcion
If(! Isset($val2))

Ahí estoy validando si marco o no mi radio
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 19/04/2021 15:58:49
si, pero ese isset no es sobre radio1 ni check1 que son los que te dan el error!!!
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 19/04/2021 18:27:19
Cual seria la solución?? Xq también hice en poner los isset antes de llamar a la función pero al hacer eso por ejemplo no ingreso nombre no marco ningún radio y ningún check lo primero que pasara es que me arrojará esos mensajes diciendo q debo marcar radio o check y una vez que marque recién me saldrá el mensaje que no he ingresado el nombre.
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 20/04/2021 09:05:52
No se muy bien como lo has puesto... puedes publicar el código?
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 20/04/2021 14:53:17
Hola joel
Los códigos los he subido en un archivo comprimido junto con las imágenes del error

El archivo es cursos.rar esta adjunto en este post
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 20/04/2021 18:10:07
Si, pero quiero verlo con los isset que has puesto... ya que el problema esta ahi... es para ver porque poniendo los isset te sigue fallando!!!
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 20/04/2021 18:44:34
Ok Joel te copio aca el codigo PHP


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
 
function cursos($val1,$val2,$val3,$val4,$val5){
    $nom="";
    $sexo="";
    $curs="";
    $distri="";
    $texto="";
 
    if($val1==""){
        echo "Debe de ingresar nombre"." ";
    }
    else{
        $nom=$val1;
    }
 
    //radio
        if(!isset($val2)){
        echo "Debe de seleccionar sexo"." ";
        }
        else{
    if($val2=="h"){
        $sexo="Masculino";
    }else{
        $sexo="Femenino";
    }
        }
    //checkbox
    if(isset($val3)){
        if(count($val3)>1){
        $end=' y '.array_pop($val3);
    }else{
        $end="";
    }
    $curs=implode(' , ',$val3).$end;
        }
    //}
    else
        echo "Debe de seleccionar curso"." ";
 
    //select
    if($val4=="a"){
        $distri="ancón";
    }elseif($val4=="b"){
        $distri="barranco";
    }elseif($val4=="c"){
        $distri="comas";
    }elseif($val4=="ch"){
        $distri="chorrillos";
    }elseif($val4=="e"){
        $distri="el agustino";
    }
    else
        echo "Debe de seleccionar distrito"." ";
    //textarea
    if($val5==""){
        echo "Ingresar texto"." ";
    }else{
        $texto=$val5;
    }
 
    //impresiones
    echo "Nombre:"." ".$nom."<br>";
    echo "Sexo:"." ".$sexo."<br>";
    echo "Cursos:"." ".$curs."<br>";
    echo "Distrito:"." ".$distri."<br>";
    echo "Comentarios:"." ".$texto;
}
    //LLAMANDO A LA FUNCION
 
    cursos($_REQUEST['nombre'],
    $_REQUEST['radio1'],$_REQUEST['check1'],
    $_REQUEST['distrito'],$_REQUEST['texto']);
 
?>
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 20/04/2021 18:49:28
Hola Robotik, pero no has puesto los isset que te comente...

en la linea 71 tendrías que cambiarla por algo así:
1
2
3
4
5
if (isset($_REQUEST['radio1']) && isset($_REQUEST['check1'])) {
    cursos($_REQUEST['nombre'],
        $_REQUEST['radio1'],$_REQUEST['check1'],
        $_REQUEST['distrito'],$_REQUEST['texto']);
}
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 20/04/2021 19:21:19
aH OK JOEL AHORA ESA PARTE DEL CODIGO LO PUSE DE ESTA MANERA

1
2
3
4
5
6
7
8
if (isset($_REQUEST['radio1']) && isset($_REQUEST['check1'])) {
 
    cursos($_REQUEST['nombre'],
    $_REQUEST['radio1'],$_REQUEST['check1'],
    $_REQUEST['distrito'],$_REQUEST['texto']);
}
else
    echo "FALTAN DATOS POR INGRESAR";

AHORA MI CONSULTA SERIA QUE PARA VALIDAR QUE EH INGRESADO EL NOMBRE Y DISTRITO DEBO DE HACER A CONSULTA ANTES DE LLAMAR A LA FUNCION ???

OSEA DENTRO DE LA FUNCION YA NO PONER ESTO
1
2
3
4
5
6
if($val1==""){
    echo "Debe de ingresar nombre"." ";
}
else{
    $nom=$val1;
}

SINO DENTRO DE LA FUNCION PUEDE SER ALGO COMO ESTO
1
$NOM=$VAL1;

Y ANTES DE LLAMAR A LA FUNCION PONER :
1
2
3
4
5
IF($_REQUEST['nombre']==""{
ECHO "DEBE DE INGRESAR NOMBRE";
}
ELSE
LLAMAR A LA FUNCION


SERIA ASI ENTONCES??
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 20/04/2021 19:47:16
Joel pero hay otro detalle
el formulario yo lo tengo creado de esta forma
Nombre de estudiante TEXT
Sexo RADIO
Curso de interes CHECKBOX
seleccionar distrito SELECT
comentarios TEXTAREA

AHORA SI YO NO INGRESO O MARCO ALGO EN MI FORMULARIO ME DEBERIA DE SALIR MENSAJES EN ORDEN ES DECIR
DEBE INGRESAR NOMBRE
DEBE DE SELECCINAR SEXO
DEBE DE SELECCIONAR CURSO
DEBE DE SELECCIONAR DISTRITO
DEBE DE INGRESAR COMENTARIOS

PERO DE LA FORMA COMO ME INDICAS A HACERLO ME VA A OBLIGAR A QUE LOS MENAJES QUE FALTAN DATOS POR INGRESAR ME SALGA DESORDENADO XQ DESPUES DE LOS ISSET YA LO QUE SIGUE FORZOSAMENTE ES LLAMAR A LA FUNCION
COMO PODRIA ARREGLAR ESO
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 20/04/2021 21:31:19
Entiendo... la validación la tienes que hacer fuera de la función cursos(), antes de llamarla... de esta manera, tendrás todos los mensajes de error antes de llamar a la función.

No se si me he sabido explicar...
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 20/04/2021 23:14:34
Si si, pero tengo q hacer validación por cada control osea con un IF validar que ingreso el nombre con otro if validar que seleccionó Distrito, etc o hay alguna forma de hacerlo todo en una sola línea y que arroje un único mensaje como
Echo "faltan datos en su formulario por ingresar '
???
Gracias
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 21/04/2021 08:01:24
Si claro, lo puedes poner todo dentro de un solo if...

1
2
3
if (campo1 || campo2 || ....) {
    echo "faltan datos...";
}
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: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por Robokick (156 intervenciones) el 21/04/2021 08:05:55
Joel con esa separación de ||???
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con Funciones radio y checkbox

Publicado por joel (1269 intervenciones) el 21/04/2021 08:37:06
Si, es un "or", no?

si uno esta mal o otro esta mal o otro esta mal...
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