Foros del Web » Programando para Internet » PHP »

Fallo en Update

Estas en el tema de Fallo en Update en el foro de PHP en Foros del Web. Buenas, Haciendo caso al compañero Triby, remito mi pregunta como nuevo tema. Tengo un formulario con un textarea i otros campos de texto que muestran ...
  #1 (permalink)  
Antiguo 31/03/2009, 19:12
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Fallo en Update

Buenas,

Haciendo caso al compañero Triby, remito mi pregunta como nuevo tema.

Tengo un formulario con un textarea i otros campos de texto que muestran la informacion del registro en la bd a editar.

Y por otro lado tengo otro documento que recoge la información y la debe sobreescribir a la existente.

Despues de comprobar que el formulario hace su cometido y que la informacion de todos los campos llega al segundo documento perfectamente...

Me sigue sin actualizar el registro...

Evidente que debe ser del UPDATE pero no se lo que hago mal...

Haber si pudieran asesorarme..aqui les dejo el codigo.



Código PHP:
<?
$nombre 
$HTTP_POST_VARS["nombre"];
$enca $HTTP_POST_VARS["enca"];
$des $HTTP_POST_VARS["des"];
$pos $HTTP_POST_VARS["pos"];
$tam $HTTP_POST_VARS["tam"];


// Conectar a la base de datos
mysql_connect ($dbhost,$dbusername,$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
if(
$im=="")
{
$sSQL="Update novedades Set nombre='$nombre', enca='$enca', des='$des', pos='$pos', tam='$tam' Where id='$id'";
mysql_query($sSQL);
}

?>

Muchas gracias

Última edición por Section1; 31/03/2009 a las 19:17
  #2 (permalink)  
Antiguo 31/03/2009, 19:23
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, 8 meses
Puntos: 2237
Respuesta: Fallo en Update

1- Utiliza etiquetas normales de PHP ( <?php ), las short-tags ( <? )no siempre estan disponibles.
2- $HTTP_POST_VARS y $HTTP_POST_FILES son obsoletas, en su lugar existen $_POST y $_FILES
3- Usa var_dump() para ver el contenido de $_POST y garantizar que viene cada variable como la esperas.
4- De donde estas tomando $id? me imagino que debe venir en $_POST o en $_GET.
5- Antes de ejecutar la consulta haz un echo $sSQL;.
6- Ejecuta la consulta asi: mysql_query($sSQL) or die(mysql_error()); para saber si hay un error en la consulta.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 31/03/2009, 20:59
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Buenas Triby,

Toda la información la recibe por POST i llega correctamente ya que lo he comprobado haciendo echo igualmente provare lo de var_dump().
Eso si probare tambien el punto 5 y 6 que parece ser el punto conflictivo.

Un saludo y gracias.
  #4 (permalink)  
Antiguo 02/04/2009, 16:05
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Hola Triby,

Contestando a las pruebas que me dijiste... no me arroja ningun error de conexion ni en el punto 5 ni en el 6.

No se donde puede originarse el error.

Es curioso porque cuando le inserto una frase corta me lo admite y lo guarda bien pero un texto grande no?


Muchas gracias.

Un saludo.
  #5 (permalink)  
Antiguo 02/04/2009, 16:40
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, 8 meses
Puntos: 2237
Respuesta: Fallo en Update

Verifica la estructura de tu tabla y que los campos tengan la longitud necesaria para almacenar el contenido. El campo que corresponde al textarea debe ser text y no varchar.

Edito:

Antes de almacenar cualquier campo tipo varchar o text escapalo para evitar errores y/o inyecciones de codigo:

$campo = mysql_real_escape_string($campo);
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 02/04/2009, 17:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

El campo donde se inserta es text... pero sobre lo de codigo..

Si dentro del contenido a almacenar hay etiquetas <p> o <br> hay algun problema entonces?

A que eso va a ser el problema..

Un saludo
  #7 (permalink)  
Antiguo 02/04/2009, 17:12
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, 8 meses
Puntos: 2237
Respuesta: Fallo en Update

No, si tu campo es varchar o text puedes almacentar cualquier cosa, excepto cuando contiene caracteres especiales como comillas sencillas o dobles sin escapar.

Si no te funciona, por favor pon un ejemplo de un texto que si permite actualizar y otro donde no lo permite o no lo realiza.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 02/04/2009, 17:21
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Buenas TRiby,

Te muestro ejemplo de texto que no me acepta

Cita:
Es prepara el I Congrès Nacional sobre Altes Capacitats
Els propers dies 9, 10 i 11 de Juliol a la Universitat Abat Oliba. C. Bellesguard, 30 - 08022 Barcelona. El grup de treball sobre Altes Capacitats del que forma part Fanjacc, organitza aquest esdeveniment que englobarà tot tipus d'activitats i xerrades per a concienciar i facilitar eines als assistents sobre aquest camp.
Texto que si me acepta

Cita:
Esto es un articulo de prueba para este formulario.
Un saludo y gracias por todo.
  #9 (permalink)  
Antiguo 02/04/2009, 17:43
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 3 meses
Puntos: 15
Respuesta: Fallo en Update

nl2br ()
podria tener algo q ver con los saltos de linea?

saludines!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #10 (permalink)  
Antiguo 02/04/2009, 17:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Pues no se si sera por eso... si fuera asi como podria resolverlo?

Un saludo
  #11 (permalink)  
Antiguo 02/04/2009, 17:58
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 3 meses
Puntos: 15
Respuesta: Fallo en Update

http://www.forosdelweb.com/f18/utili...-nl2br-102400/
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #12 (permalink)  
Antiguo 02/04/2009, 18:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

He aplicado el codigo que me comentas
asi:

$cadena=nl2br($cadena);

Igualmente sigue sin guardar el texto no se porque.

Detallo también que Cluster en otro post detallo que no era correcto el uso de este comando para poder guardar registos, ya que cuando se volvian cargar en un formulario para editarse de nuevo no se mostraban bien porque no puede pasar de <br> a /n.

Bueno un saludo y gracias.
  #13 (permalink)  
Antiguo 02/04/2009, 18:28
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 3 meses
Puntos: 15
Respuesta: Fallo en Update

insisto q podria ser los saltos
mira te dejo otros links y los chekas si puedes y tienes tiempo
saludines solo quiero poder ayudar jeje
http://www.forosdelweb.com/f18/elimi...-datos-242757/

ojala te sirva
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #14 (permalink)  
Antiguo 02/04/2009, 19:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Vale lo miro.

Perdona en serio no queria parecer ofensivo disculpa.

Ya te dire el resultado.

Un saludo.
  #15 (permalink)  
Antiguo 02/04/2009, 19:34
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, 8 meses
Puntos: 2237
Respuesta: Fallo en Update

Cita:
Iniciado por Section1 Ver Mensaje
Buenas TRiby,

Te muestro ejemplo de texto que no me acepta
No veo un motivo para que ese texto te pueda dar problemas, con saltos de linea o sin ellos, si ya lo escapaste con mysql_real_escape_string() deberia almacenarse sin problema.

Ahora, modificaste la ejecucion de la consulta para quedar asi:
mysql_query($sSQL) or die(mysql_error());

Si no lo hiciste, hazlo por favor y, si lo hiciste y no actualiza, te debiera dar un mensaje de error.

Si no actualiza y no hay mensaje de error, por favor agrega antes de esa linea:

echo "<pre>$sSQL</pre>";

Copia el resultado y pegalo aqui, por favor.
__________________
- León, Guanajuato
- GV-Foto
  #16 (permalink)  
Antiguo 02/04/2009, 19:44
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 3 meses
Puntos: 15
Respuesta: Fallo en Update

oo por eso eres triby ok mejor dejemos que el te ayude jeje seguro encontraran la solucion
saludines
Cita:
Perdona en serio no queria parecer ofensivo disculpa.
no te apures cuando algo asi no te sale es logico que estes preocupado saludos y que encuentres solucion adios
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #17 (permalink)  
Antiguo 19/04/2009, 12:27
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Fallo en Update

Buenas ya he vuelto de semanan santa ... bueno el problema parece ya haberse solventado y solo?¿?.

No me lo explico he vuelto a provar el codigo y ahora si que me deja guardar el contenido incluso con saltos de linea?¿?

Bueno...

Gracias por todo de nuevo.. pero la verdad me quedare con la incognita.
  #18 (permalink)  
Antiguo 20/04/2009, 09:49
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, 8 meses
Puntos: 2237
Respuesta: Fallo en Update

No creo que se haya solventado solo, mas bien:

a) No has ingresado textos con comillas (simples o dobles).
b) Ya agregaste el codigo para escapar los textos antes de insertarlos.
__________________
- León, Guanajuato
- GV-Foto
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 13:00.