Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Notice: Undefined index: field4 error en la ejecución de la consulta

Estas en el tema de Notice: Undefined index: field4 error en la ejecución de la consulta en el foro de PHP en Foros del Web. tengo un problema con un cuestionario web me esta marcando el siguiente error al insertar las repuestas en la base de datos error en la ...
  #1 (permalink)  
Antiguo 15/02/2018, 10:28
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 8 años, 11 meses
Puntos: 0
Notice: Undefined index: field4 error en la ejecución de la consulta

tengo un problema con un cuestionario web

me esta marcando el siguiente error al insertar las repuestas en la base de datos

error en la ejecución de la consulta.

Notice: Undefined index: field4 in \ruta..... error en la ejecución de la consulta.

este es mi encuesta

Código PHP:
<?php
$id 
4;
$conn mysqli_connect('localhost','root','','webtopy');
$sql "SELECT id, texto FROM respuestas WHERE id = '".$id."' Order by id";
$result mysqli_query($conn,$sql);
echo 
"<form action='reciborespuestas.php' method='POST'  NAME='form'>";
while(
$row mysqli_fetch_array($result)){
        echo 
"<fieldset>
                  <legend>"
.$row[1]."</legend>
                  <label> 
                      <input type='radio' name='radio"
.$row[0]."' value='1'> Si
                  </label> 
                  <label> 
                      <input type='radio' name='radio"
.$row[0]."' value='0'> No
                  </label> 
                <td>
                    <input type='submit' class='submit' value='Ver' />
                </td>
            </fieldset>"
;
}
echo 
"</form>";
?>
y este es donde inserto en la base de datos

Código PHP:
<?php
$id 
4;
$conn mysqli_connect('localhost','root','','webtopy');
$sql "SELECT id FROM respuestas WHERE id = '".$id."' Order by id";
$result mysqli_query($conn,$sql);
 
 
while(
$row mysqli_fetch_array($result)){
        
$id_preg$row[0];
        
$resp$_POST ['field'.$id_preg];
 
        
$consulta="insert into opciones ('valor', 'idenc') values ('$resp','$id_preg')";
        
$resultado=mysqli_query($conn,$consulta);
 
                if (
$resultado) {
                        echo 
"perfil almacenado. <br />";
                }
                else {
                        echo 
"error en la ejecución de la consulta. <br />";
                }
}
?>
  #2 (permalink)  
Antiguo 15/02/2018, 10:38
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Notice: Undefined index: field4 error en la ejecución de la consulta

En tu formulario los campos se llaman comenzando con "radio", pero al tratar de leerlos estás intentando usar el nombre "field".

Sugerencia: imprime POST para ver qué estás recibiendo:

var_dump($_POST);
  #3 (permalink)  
Antiguo 15/02/2018, 10:42
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Notice: Undefined index: field4 error en la ejecución de la consulta

array(1) { ["radio4"]=> string(1) "1" } esto es lo que me aparece
  #4 (permalink)  
Antiguo 15/02/2018, 16:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Notice: Undefined index: field4 error en la ejecución de la consulta

Exacto, y tu quieres acceder a "field"

$resp= $_POST ['field'.$id_preg]; , debería ser

$resp= $_POST ['radio'.$id_preg];
  #5 (permalink)  
Antiguo 16/02/2018, 16:16
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Notice: Undefined index: field4 error en la ejecución de la consulta

ya estoy apunto de conseguir lo que quiero solo que tengo una ultima consulta, como puedo separar ya en mi $resp me guarda toda la información que quiero solo que no se como separar el numero 26 y el numero "1" de cada respuesta me manda una cadena así

array(6) { ["radio26"]=> string(1) "1" ["radio27"]=> string(1) "1" ["radio28"]=> string(1) "1" ["radio29"]=> string(1) "1" ["radio30"]=> string(1) "0" ["id"]=> string(2) "18"
  #6 (permalink)  
Antiguo 16/02/2018, 19:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Notice: Undefined index: field4 error en la ejecución de la consulta

Ibas bien, el único problema era el nombre del campo:

Código PHP:
Ver original
  1. while($row = mysqli_fetch_array($result)){
  2.         $id_preg= $row[0];
  3.         // Solo tienes que validar que realmente se seleccionó un valor
  4.         $resp= $_POST ['radio'.$id_preg];
  5.  
  6.         $consulta="insert into opciones ('valor', 'idenc') values ('$resp','$id_preg')";
  7.         $resultado=mysqli_query($conn,$consulta);
  8.  
  9.                 if ($resultado) {
  10.                         echo "perfil almacenado. <br />";
  11.                 }
  12.                 else {
  13.                         echo "error en la ejecución de la consulta. <br />";
  14.                 }
  15. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: encuesta, mysql
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:59.