PHP - Notice: Undefined index: radio1 con BASE DE DATOS

 
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 11/05/2021 00:26:52
AMIGOS ESTOY HACIENDO EL REGISTRO DE UN ALUMNO YA USANDO BASE DE DATOS ADJUNTO MI CODIGO HTML Y PHP

EL ORDEN DE INGRESO DE LOS CAMPOS Y DE VALIDACION DE DATOS DEBE SER TAL CUAL LO ESTOY ENVIANDO
ANTES DE PONER LA LINEA DEL CHECK QUE ES ESTA if(isset($_REQUEST['check'])), SI YO NO SELECCIONO UN RADIO NO GRABA

AHORA DESPUES DE QUE PUSE ESA LINEA DEL CHECK SI EN MI FORMULARIO SOLO MARCO UN UNICO CHECK EL PROGRAMA :
GRABA EL REGISTRO
ME SALE LOS MENSAJES QUE NO HA INGRESADO NOMBRE,TELEFONO, ETC
Y ME SALE TAMBIEN Notice: Undefined index: radio1 in C:\wamp\www\web\proyectos\bko\alumnos\implode\grabar.php on line 19

LA LINEA 19 ES: '$_REQUEST[fono]','$_REQUEST[radio1]','$_REQUEST[direc]',

ABAJO ESTA MI CODIGO ES PRIMERA VEZ QUE VALIDO UN RADIO Y UN CHECK CON BASE DE DATOS,RECALCO EL INGRESO DE DATOS Y LA VALIDACION DE SI INGRESE DATOS A LOS TEXTBOX DEBE SER EN ESE ORDEN TAL CUAL FIGURA EN MI CODIGO ES DECIR PRIMERO VALIDA EL NOMBRE, LUEGO EL TELEFONO Y AL FINAL DEBE DE VALIDAR LOS DEPORTES QUE SON CHECKBOX
ESPERO SU AYUDA POR FAVOR
GRACIAS


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
<form method="post" action="grabar.php">
    <label for="name">Nombre de alumno</label>
    <input type="text" name="nombre" id="name">
    <br>
    <label for="phone">Celular</label>
    <input type="text" name="fono" id="phone">
    <br>
    <label>Género</label><br>
    <input type="radio" name="radio1" value="Hombre">Masculino
    <input type="radio" name="radio1" value="Mujer">Femenino
    <br>
    <label for="address">Dirección</label>
    <input type="text" name="direc" id="address">
    <br>
    <label>Deporte que practica</label><br>
    <input type="checkbox" name="check[]" value="futbol">Fútbol
    <input type="checkbox" name="check[]" value="basquet">Básquet
    <br>
    <input type="checkbox" name="check[]" value="voley">Vóley
    <input type="checkbox" name="check[]" value="funcional">Funcional
    <br>
    <input type="checkbox" name="check[]" value="karate">Karate
    <input type="checkbox" name="check[]" value="cross">Crossfit
    <br>
    <button type="submit">Mostrar</button>
</form>


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
<?php
if($_REQUEST['nombre']==""){
	echo "Ingresa nombre"."<br>";
}
if($_REQUEST['fono']==""){
	echo "Ingresa fono"."<br>";
}
if(!isset($_REQUEST['radio1'])){
	echo "Ingresa sexo"."<br>";
}
if($_REQUEST['direc']==""){
	echo "Ingresa direccion"."<br>";
}
if(isset($_REQUEST['check'])){
//else{
$conexion=mysqli_connect("localhost","root","","base1")or die ("error");
mysqli_query($conexion,"insert into alumnos2
(nombre,fono,genero,direccion,deporte)values('$_REQUEST[nombre]',
'$_REQUEST[fono]','$_REQUEST[radio1]','$_REQUEST[direc]',
'".implode(' , ',$_REQUEST['check'])."')")or die("error".mysqli_error($conexion));
 
echo "grabado";
 
mysqli_close($conexion);
}
else
	echo "Ingresa deporte";
?>
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por joel (1269 intervenciones) el 11/05/2021 08:07:03
Hola Robokick, puede ser que no hayas seleccionado ningún "radio"? Recuerda que tanto el checkbox como el radio, si no se selecciona ningún valor, no se envía!!! por lo tanto no existe el $_REQUEST["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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Mauro (1034 intervenciones) el 11/05/2021 14:28:57
Complementando lo que dice Joel, verifica el contenido de $_REQUEST para asegurarte.

Saludos!
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 11/05/2021 15:39:33
Hola joel y mauro claro no seleccionó apropósito ningún radio porque quiero que el sistema me arroje el mensaje de que debe de seleccionar un radio para poder continuar y si ingrese todos los datos menos la selección del radio que me arroje el mensaje que falta seleccionar un radio para que recién el sistema guarde un nuevo registro en la base de datos

Ah eso quiero llegar si falta algo por marcar o ingresar que el sistema me avise
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 13/05/2021 01:18:06
Por favor si me pudieran ayudar con este problema se los agradecería mucho
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: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Jefferson (203 intervenciones) el 13/05/2021 04:54:11
Hola amigo

Ya probaste con empty

Saludos
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 13/05/2021 05:40:42
No no he probado con eso
Solo quiero que el sistema me avise que debo seleccionar un radio de lo contrario no debería grabar un registro en la base de 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
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por joel (1269 intervenciones) el 13/05/2021 08:26:51
Puedes utilizar isset(), algo así:

1
2
3
if (!isset($_REQUEST["radio1"])) {
    echo "NO esta definido";
}
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: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Jefferson (203 intervenciones) el 13/05/2021 15:19:49
Como dice Joel funciona si se elije un check.

Isset determina si el valor es null solo si ha sido declarada.

Pero como usas submit este al no estar seleccionado un check, no lo declara en el post y por ende isset no currula ...

Para ello debes usar empty
1
2
3
4
5
6
7
8
if (empty($_POST["radio1"])) {
    echo "NO esta definido";
}else{
  $array =$_REQUEST["radio1"];
    foreach ($array as $name) {
      echo 'el valor es :'.$name;
    }
}

prueba y comentas
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 13/05/2021 16:21:15
Hola Joel
Pero lo que me indicas esta en mi código que puse lineas arriba sino seleccionó ni radio ni checkbox el sistema me indica que debo de seleccionar si selecciono solo checkbox el sistema graba y me arroja el mensaje que puse al inicio de mi 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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por joel (1269 intervenciones) el 13/05/2021 20:35:02
Si, cierto, pero fijate que el insert esta dentro de este if:
1
if(isset($_REQUEST['check'])){
Eso quiere decir, que si el check esta definido, ejecutara la consulta SQL

para ello, tendrias que juntar todos los ifs... algo así:
1
if (isset($_REQUEST['check']) && isset($_REQUEST['radio1']) && $_REQUEST['nombre'] && $_REQUEST['fono'] && $_REQUEST['direc']){
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 13/05/2021 21:11:15
Joel te comento he realizado varias formas en base a lo que me mencionas

la primera forma es esta tal cual como me dices

1
2
3
4
5
if(isset($_REQUEST['radio1']) && isset($_REQUEST['check']) &&
$_REQUEST['nombre'] && $_REQUEST['fono'] && $_REQUEST['direc'])
{
	echo "Faltan datos por ingresar";
}

la segunda forma que hice fue esta

1
2
3
4
5
if(isset($_REQUEST['radio1']) && isset($_REQUEST['check']) &&
$_REQUEST['nombre']=="" && $_REQUEST['fono']=="" && $_REQUEST['direc']=="")
{
	echo "Faltan datos por ingresar";
}

la tercera forma que es la que mas se aproxima
1
2
3
4
5
if(isset($_REQUEST['radio1']) or isset($_REQUEST['check']) or
$_REQUEST['nombre']=="" or $_REQUEST['fono']=="" or $_REQUEST['direc']=="")
{
	echo "Faltan datos por ingresar";
}
AL HACER ESTA TERCERA FORMA ME APARECE EL MENSAJE QUE FALTAN DATOS POR INGRESAR SI YO DOY CLICK AL BOTON Y NO INGRESO NI MARCO NADA EN MI FORMULARIO PERO SI INGRESO NOMBRE TELEFONO Y DIRECCION Y NO MARCO RADIO NI MARCO CHECKBOX ME SALE ESTE MENSAJE QUE ES EL MISMO PARA LA FORMA 1 Y 2 Y ENCIMA GRABA EL REGISTRO

( ! ) Notice: Undefined index: radio1 in C:\wamp\www\web\proyectos\bko\alumnos\implode\grabar.php on line 28

( ! ) Notice: Undefined index: check in C:\wamp\www\web\proyectos\bko\alumnos\implode\grabar.php on line 29
( ! ) Warning: implode(): Invalid arguments passed in C:\wamp\www\web\proyectos\bko\alumnos\implode\grabar.php on line 29

una cuarta forma es esta y ocurre lo mismo que la tercera forma

1
2
3
4
5
if(isset($_REQUEST['radio1']) && isset($_REQUEST['check']) or
$_REQUEST['nombre']=="" or $_REQUEST['fono']=="" or $_REQUEST['direc']=="")
{
	echo "Faltan datos por ingresar";
}

NOSE QUE MAS SE PUEDE HACER PARA SOLUCIONAR
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por joel (1269 intervenciones) el 14/05/2021 08:33:08
Huy, me explique mal Robokick, disculpame...

Si se cumple la condición inserto en la base de datos
1
2
3
4
5
if (isset($_REQUEST['check']) && isset($_REQUEST['radio1']) && $_REQUEST['nombre'] && $_REQUEST['fono'] && $_REQUEST['direc']) {
    // ago el insert en la base de datos
} else {
    // muestro el o los errores
}
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 14/05/2021 18:43:49
Gracias Joel
no sabia esa manera de validar cuando trabajo con base de datos. aca comparto el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
if(isset($_REQUEST['radio1']) && isset($_REQUEST['check']) &&
$_REQUEST['nombre'] && $_REQUEST['fono'] && $_REQUEST['direc'])
{
$conexion=mysqli_connect("localhost","root","","base1")or die ("error");
mysqli_query($conexion,"insert into alumnos2
(nombre,fono,genero,direccion,deporte)values('$_REQUEST[nombre]',
'$_REQUEST[fono]','$_REQUEST[radio1]','$_REQUEST[direc]',
'".implode(' , ',$_REQUEST['check'])."')")or die("error".mysqli_error($conexion));
 
echo "grabado";
 
mysqli_close($conexion);
}
 
else
	echo "Falta datos por ingresar";
?>
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

Notice: Undefined index: radio1 con BASE DE DATOS

Publicado por Robokick (156 intervenciones) el 13/05/2021 23:54:08
Las lineas en mencion pertenecen donde figura el $_REQUEST radio 1 y check
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