Comunidad de diseño web y desarrollo en internet online

Aunque ejecuta el INSERT INTO, muestra un error 403 Forbidden

Citar            
MensajeEscrito el 07 Mar 2016 10:55 am
Hola a todos,
No consigo dar con la solución a este problema:

Tengo un formulario a través del cual insertar datos, que se muestran más abajo en una tabla. A su vez, desde la tabla, se pueden borrar. La estructura es la siguiente:
1. Archivo index.php: contiene el formulario de inserción + la tabla que muestra los datos recibidos de la bbdd.

2. Archivo insertar.php: inicia la conexión a la bbdd, recibe los datos del formulario, ejecuta el INSERT INTO y redirecciona al archivo index.php enviando una variable para mostrar el mensaje: "insertado correctamente".

3. Archivo borrar.php: inicia conexión con bbdd, recibe dato de la tabla, ejecuta el DELETE y redirecciona al archivo index.php enviando una variable para mostrar el mensaje: "registro borrado".

PROBLEMA:
Al insertar un dato a través del formulario, a pesar de que lo ejecuta correctamente (se visualiza ok en la tabla y se añade a la bbdd), devuelve un error "403 FORBIDDEN you don't have permission to access /… on this server".

Y esto sucede (tanto en local como en la web publicada) con todos los archivos de la web que insertan datos. Sin embargo, no ocurre en los que borran o modifican.

Creo que el problema puede estar en el
header("Location:index.php?dato=borrado");

UN DATO CURIOSO:
He cambiado el nombre de variable del header (dato=borrado por glos=gborrado) y ya no muestra el error en localhost, pero sí en la web publicada.

Por favor, alguna pista??
Muchas gracias

Por arpagofito

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Mar 2016 08:00 am
Hola buenas,
Cuando pones el header("location...")? Al final del index.php?
Porque si es así, efectivamente, ese es el problema. Porque si estas en index.php, quieres volver a cargar el index.php?

Un saludo,
David
estudio de diseño grafico

Por conectart

Claber

128 de clabLevel



 

ceo

chrome
Citar            
MensajeEscrito el 14 Mar 2016 09:54 am
Hola conectart,

No, claro. Como indico en el punto 2 de la consulta, la redirección la realizo desde el documento "insertar.php".

(Los nombres de los archivos (index.php, insertar. php y borrar.php) son ficticios, pero creo que son bastante gráficos a la hora de explicar el problema.

Por fin he conseguido solucionarlo cambiando las variables enviadas y sus valores (tal como comento en "UN DATO CURIOSO"). Después de muchas pruebas, parece que, finalmente funciona tanto en local como en la web publicada. Aunque no entiendo por qué.
:o

Pienso que puede tener que ver con que realicé una migración de mysql a mysqli. Quizá mysqli introduzca alguna modificación por la cual no admita valores de variable repetidos o que contengan nombres de sentencias (INSERTado, DELETEado, etc). Ya que el error sólo se manifestaba con los archivos que insertan datos (la variable que enviaba era "dato=INSERTado"), pero no con los borrados ("dato=borrado") ni los modificados ("dato=modificado"). No sé si me explico.

Por mi parte, doy el tema por zanjado.
Gracias conectart. Saludos.

Por arpagofit0

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.