Título: Subida php Publicado por: jalbtercero en 16 Marzo 2016, 12:12 pm tengo este php para subir archivos :
Código
pero en la base de datos las variables $nombre, $desc,$direccion me devuelven un 0 es decir en la base de datos estos campos son 0 Título: Re: Subida php Publicado por: gAb1 en 17 Marzo 2016, 05:07 am Hola jalbtercero
Antes de nada, te recomiendo que envuelvas todo el contenido protegido, incluido el html, dentro del primer if, ya que javascript es un lenguaje cliente y puede ser detenido facilmente dando lugar a que se muestre el formulario sin haber iniciado sesión. Para solucionar este tipo de problemas lo mejor es empezar haciendo un poco de debug, ya que en la mayoría de los casos nos muestra donde tenemos el problema. Lo normal es comprobar lo que imprimen las variables para ver si es lo que debería ser: Código
En cuanto a la estructura de las query de MySQL es recomendable especificar el nombre de las columnas que vas a insertar (suponiendo que la columna id es auto): Código
Si la columna se llama desc hay que escaparla ya que es una palabra reservada de mysql. Código
Si alguna de esas variables esta vacía y la columna es NOT NULL no se insertará nada (te lo digo por experiencia própia). Título: Re: Subida php Publicado por: jalbtercero en 17 Marzo 2016, 10:05 am Hola jalbtercero Antes de nada, te recomiendo que envuelvas todo el contenido protegido, incluido el html, dentro del primer if, ya que javascript es un lenguaje cliente y puede ser detenido facilmente dando lugar a que se muestre el formulario sin haber iniciado sesión. Para solucionar este tipo de problemas lo mejor es empezar haciendo un poco de debug, ya que en la mayoría de los casos nos muestra donde tenemos el problema. Lo normal es comprobar lo que imprimen las variables para ver si es lo que debería ser: Código
En cuanto a la estructura de las query de MySQL es recomendable especificar el nombre de las columnas que vas a insertar (suponiendo que la columna id es auto): Código
Si la columna se llama desc hay que escaparla ya que es una palabra reservada de mysql. Código
Si alguna de esas variables esta vacía y la columna es NOT NULL no se insertará nada (te lo digo por experiencia própia). Aprecion las ayudas y corregire algunas cosas, gracisas, pero lo que no entiendo es que en mi anterior pagina funcionaba perfectamente sin problemas, pero me he comprado un nuevo dominio y he pedido que me lo trasladen y asi lo hicieron, sin cambios ni nada, no he tocado la sintxis de este php, pero no funciona, no hace falta decir que he cambiado los datos de conexion a mi base de datos. Si me pudieras aclarar esto, Gracias EDITO: He modificado el codigo incluyendo las columnas donde se tiene que meter la informacion incluyendo la culamna id dejandola vacias ('') ya que es autoincrementable, y no funciona. Y la columna no se llama "desc" es "descripcion". EDITO2: Bueno de echo ahora con esta midificacion, ni si quiera se registra informacion, es decir antes al menos habiean 0 pero ahora nada de nada: La parte donde meto los valores: Código
He probado de todo y no funciona.... no se que hacer.... Título: Re: Subida php Publicado por: gAb1 en 25 Marzo 2016, 17:25 pm ¿Hiciste el "echo" que te dije? ¿Se imprime la query y funciona si la usas directamente en tu base de datos?
Como ya te dije, no es necesario que incluyas la columna id, ya que es automatica, puedes quitarla de la query. Los nombres de las columnas no necesitan estar entre comillas, en cuanto a los valores si son enteros (int) no debes ponerlos entre comillas, como el id estas poniendo el valor entre comillas. Debería ser de la siguiente manera: Código
Comprueba si funciona de esta manera. Si ese no es el problema, entonces debe estar en la estructura de la tabla, comprueba que este todo bien, el tipo de contenido (int, char, varchar...) y el tamaño maximo. Hay que comprobarlo todo ya que casi siempre son errores muy simples que pasan desapercibidos. Y como cuestión de seguridad, te recomiendo que empieces a usar mysqli en lugar de mysql. Con mysqli tendrás la posibilidad de usar prepared statements para tener una seguridad decente cuando trabajas con user input. Si no necesitas usar user input no hay problema en usar query() pero con mysqli. Más que nada porque, no solo se dejo de dar soporte, si no porque desde php 5.5 ya no existe la función mysql(). Y es importante no usar versiones tan antiguas de php. |