PHP - no reconoce variable al pasar con request

 
Vista:
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Charly (70 intervenciones) el 16/04/2024 20:21:17
En una pagina tengo este botón:

1
<a href="add_purchase_detail.php?purchase_id=<?php echo (int)$id_purchase; ?>" class="btn btn-primary">Agregar producto</a>

Y en la página de destino lo recojo así:

1
$id_purchase=$_REQUEST['id_purchase'];

Pero no me lo reconoce:

Warning: Trying to access array offset on value of type bool in C:\xampp\htdocs\sistema\includes\sql.php on line 133
Warning: Undefined array key "id_purchase" in C:\xampp\htdocs\sistema\add_purchase_detail.php on line 5
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Alejandro (847 intervenciones) el 16/04/2024 20:38:56
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Estas enviando purchase_id y estas tratando de obtener id_purchase, que no es lo mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Charly (70 intervenciones) el 18/04/2024 17:22:55
Ya lo cambié y tampoco me 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
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

no reconoce variable al pasar con request

Publicado por Mauro (1042 intervenciones) el 20/04/2024 10:19:03
Lo que comenta Alejandro debería funcionar. ¿Qué error estás viendo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Charly (70 intervenciones) el 20/04/2024 10:54:12
Advertencia : Intentando acceder al desplazamiento de la matriz en un valor de tipo bool en C:\xampp\htdocs\sistema\includes\sql.php en la línea 133

Advertencia : Clave de matriz no definida "purchase_id" en C:\xampp\htdocs\sistema\add_purchase_detail. php en la línea 5

Error fatal : mysqli_sql_exception no detectado: No se puede agregar ni actualizar una fila secundaria: falla una restricción de clave externa (`sistema`.`purchase_details`, CONSTRAINT `purchase_details_ibfk_1` CLAVE EXTRANJERA (`purchase_id`) REFERENCIAS `compras` (`id `) AL ELIMINAR CASCADA AL ACTUALIZAR CASCADA) en C:\xampp\htdocs\sistema\includes\database.php:28 Seguimiento de pila: #0 C:\xampp\htdocs\sistema\includes\database.php(28): mysqli ->query('INSERT INTO pur...') #1 C:\xampp\htdocs\sistema\add_purchase_detail.php(25): MySqli_DB->query('INSERT INTO pur...') #2 {principal} lanzado en C:\xampp\htdocs\sistema\includes\database.php en la línea 28
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 Yoel
Val: 617
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Yoel (199 intervenciones) el 22/04/2024 22:30:49
Hola Charly

El problema que estás teniendo parece estar relacionado con la clave foránea que estás utilizando. Esto puede deberse a dos posibles razones:

1- Inconsistencia en los datos que estás manejando.
2- Una relación mal conformada. Recuerda que la relación siempre debe ir de la tabla padre a la tabla hija.

Espero que esta información te sea útil.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
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

no reconoce variable al pasar con request

Publicado por Mauro (1042 intervenciones) el 01/05/2024 10:42:35
Ok, por lo que parece está fallando la consulta que hacés cerca de la línea 133 de C:\xampp\htdocs\sistema\includes\sql.php. Notá que dice que estás intentando usar un bool (Probablemente un false debido a que la consulta falló), en lugar de un array.

Otra cosa interesante para mirar es qué tiene la variable referenciada en C:\xampp\htdocs\sistema\add_purchase_detail. php en la línea 5.

Es algo difícil de saber sin ver el código entero. En todo caso, te recomiendo que lo sigas usando un debugger.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no reconoce variable al pasar con request

Publicado por Charly (70 intervenciones) el 01/05/2024 20:16:10
Gracias por responder Mauro.
Aunque llevo tiempo con PHP, ahora lo estoy retomando después de varios años de descanso.
Por cierto, el error del request se arregló.
Creo que, de las dos líneas de errores, la primera es consecuencia de la segunda, que es la principal. Me explicaré:
En la linea 133 de sql.php hay un elseif que se ejecuta si no se tiene permiso para ver esa página si el nivel de usuario está desactivado, cosa que no es cierta.
Otra razón por la que creo que mi problema está en las claves ajenas, es que no entiendo mucho cómo hay que relacionarlas con las primarias. Sí, una ajena debe ir con la primaria de otra tabla, pero al relacionarlas en la consulta de mysql me lío al crearla.
He llegado a pensar, incluso, que, al hacer tantas pruebas creando registros, la mayoría fallidos, han seguido avanzando en los id's de las tablas y ya no puedo insertar ordenadamente, pues las claves primarias son auto-increment.
Le he dado tantas vueltas que ya no sé cómo avanzar.
¿Hay alguna manera de que puedas ver el código de toda la página? Supongo que por aquí ocupará 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