Foros del Web » Programando para Internet » PHP »

No guarda todo el texto

Estas en el tema de No guarda todo el texto en el foro de PHP en Foros del Web. Buen dia queridos amigos nuevamente necesito que me ayuden en esto que estuve buscando y no consigo una respuesta tengo una web dedicada a las ...
  #1 (permalink)  
Antiguo 15/05/2012, 06:28
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 13 años
Puntos: 0
No guarda todo el texto

Buen dia queridos amigos nuevamente necesito que me ayuden en esto que estuve buscando y no consigo una respuesta tengo una web dedicada a las quejas de la gente, un formulario con un textarea y un input para mostrar la cantidad de caracteres que quedan para escribir asi:

Código HTML:
<div class="tit_cas">Queja</div>
<textarea name="queja" id="queja" rows="8" onKeyDown="textCounter(this.form.queja,this.form.remLen,400);" onKeyUp="textCounter(this.form.queja,this.form.remLen,400);" onclick="act7()" onfocus="act7();">
</textarea>
                    
<div id="side_falta">
Caracteres faltantes
<input id="falta" type="text" name="remLen" size=4 value="400" readonly>                                                    
</div> 
como veran la cantidad maxima que pueden ingresar es de 400 caracteres.
La base de datos es mysql y el campo queja es de tipo text.

El problema es que aveces la queja ingresada no se guarda completa en la base sino que se corta en 30 caracteres o en 80 caracteres y se pierde el resto.
Por ejemplo un amigo me conto que ingreso una queja desde su tablet y se le corto pero otra persona ingreso otra queja desde windows 7 y tambien se le corto es muy raro.

Yo hice muchas pruebas desde mi pc con windows 7 y otras desde tablet y todas se guardaron bien pero no se porque o como puede ser que a otras personas no les guarda todo el texto y a mi si.
Pueden ver la pagina desde www.nosquejemos.com.ar ahi veran el formulario y si entran en ver quejas por rubro veran que la ultima queja ingresada esta cortada.

Bueno espero su valiosa ayuda y desde ya muchas gracias amigos!!!
  #2 (permalink)  
Antiguo 15/05/2012, 06:39
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 9 meses
Puntos: 47
Respuesta: No guarda todo el texto

Le aplicas alguna funcion del lado del servidor a la queja cuando es enviada? que tipo de campo es tu tabla mysql donde se guarda la queja? quizas si usas varchar la queja excede el tamaño de dicho campo, en las funciones act7 estas controlando el maximo de caracteres del textarea? porque quiza algun usuario esta escribiendo mas de esos 400 caracteres, prueba haciendo un print del lado de servidor haber que es lo que se envia.
Si pones mas de tu codigo tambien quiza te puedo dar una mejor ayuda.

Saludos
  #3 (permalink)  
Antiguo 15/05/2012, 08:45
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 13 años
Puntos: 0
Respuesta: No guarda todo el texto

Cita:
Iniciado por djaevi Ver Mensaje
Le aplicas alguna funcion del lado del servidor a la queja cuando es enviada? que tipo de campo es tu tabla mysql donde se guarda la queja? quizas si usas varchar la queja excede el tamaño de dicho campo, en las funciones act7 estas controlando el maximo de caracteres del textarea? porque quiza algun usuario esta escribiendo mas de esos 400 caracteres, prueba haciendo un print del lado de servidor haber que es lo que se envia.
Si pones mas de tu codigo tambien quiza te puedo dar una mejor ayuda.

Saludos
Primero que nada gracias por contestar! te cuento del lado del servidor al campo queja mdiante javascript valido primero si no esta vacio y despues si no se ingreso mas de 400 caracteres de esta manera:

Código Javascript:
Ver original
  1. if (document.formqueja.queja.value==0)
  2.     {
  3.         document.getElementById("errorqueja").innerHTML="<font style='font-size:12px; font-weight:bold; color:#ff0000'>* Debe ingresar la queja</font>";   
  4.         document.formqueja.queja.focus();
  5.         act7();
  6.         return false;
  7.     }
  8.     else
  9.     {
  10.        
  11.         if (document.formqueja.queja.value.length>400)
  12.         {  
  13.             document.getElementById("errorqueja").innerHTML="<font style='font-size:12px; font-weight:bold; color:#ff0000'>* Excedio el maximo de caracters permitidos.</font>";   
  14.             document.formqueja.queja.focus();
  15.             act7();    
  16.             return false;
  17.         }
  18.         else
  19.         {      
  20.             document.getElementById("errorqueja").innerHTML="";
  21.         }
  22.     }

El tipo de campo donde se guarda la queja es de tipo: text

La funcion act7() lo que hace es esto

Código Javascript:
Ver original
  1. function act7()
  2. {
  3.     document.getElementById("ayuda1").style.display='none';
  4.     document.getElementById("ayuda2").style.display='none';
  5.     document.getElementById("ayuda3").style.display='none';
  6.     document.getElementById("ayuda4").style.display='none';
  7.     document.getElementById("ayuda5").style.display='none';
  8.     document.getElementById("ayuda6").style.display='none';
  9.     document.getElementById("ayuda7").style.display='block';
  10. }

activo un div donde muestro una ayuda para llenar el campo.

Cuando hago print del lado del servidor me sale bien todo el texto...
  #4 (permalink)  
Antiguo 15/05/2012, 09:17
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: No guarda todo el texto

y si en lugar de que tu campo sea text lo pones como blob?????
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #5 (permalink)  
Antiguo 15/05/2012, 10:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 13 años
Puntos: 0
Respuesta: No guarda todo el texto

Cita:
Iniciado por p414 Ver Mensaje
y si en lugar de que tu campo sea text lo pones como blob?????
Hola p414 gracias por contestar: estuve averiguando tu propuesta ya que no la conocia pero no logro entender bien la diferencia entre usar blob y text me podrias explicar un poco mas? gracias
  #6 (permalink)  
Antiguo 15/05/2012, 12:34
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: No guarda todo el texto

Para un texto de 400 caracteres no necesitas blob, ni siquiera text. Con varchar a 400 sería suficiente. Quizá el problema esté en los caracteres que introducen, yo me inclinaría a dos cosas: verificas que ocurre cuando teclean enters y qué ocurre cuando teclean acentos.
  #7 (permalink)  
Antiguo 15/05/2012, 17:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 13 años
Puntos: 0
Respuesta: No guarda todo el texto

Cita:
Iniciado por ocp001a Ver Mensaje
Para un texto de 400 caracteres no necesitas blob, ni siquiera text. Con varchar a 400 sería suficiente. Quizá el problema esté en los caracteres que introducen, yo me inclinaría a dos cosas: verificas que ocurre cuando teclean enters y qué ocurre cuando teclean acentos.
muchas gracias ocp001a por contestar estuve investigando lo que me dijiste y me di cuenta que la cadena se corta despues que introducen un acento todo lo que se ponde despues de un acento se pierde ahora a investigar porque pasa eso pero por lo menos gracias a vos pude saber porque que antes no lo sabia muchas gracias!
alguna idea de porque puede ser?
  #8 (permalink)  
Antiguo 15/05/2012, 18:06
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: No guarda todo el texto

Por la codificación de caracteres. Ya se ha hablado mucho por aquí sobre el tema, y es una labor un poco tediosa resolverlo. Pero si buscas sobre las funciones utf8_encode y utf8_decode de php junto con las bases de datos con utf8 resolverás tu problema.
  #9 (permalink)  
Antiguo 16/05/2012, 05:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 13 años
Puntos: 0
Respuesta: No guarda todo el texto

Cita:
Iniciado por ocp001a Ver Mensaje
Por la codificación de caracteres. Ya se ha hablado mucho por aquí sobre el tema, y es una labor un poco tediosa resolverlo. Pero si buscas sobre las funciones utf8_encode y utf8_decode de php junto con las bases de datos con utf8 resolverás tu problema.
Gracias a todos por contestar en especial a vos ya pude resolver el problema un saludo
  #10 (permalink)  
Antiguo 24/05/2012, 12:29
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: No guarda todo el texto

te comenté lo de usar blob porque es un tipo binario igual y con eso se lograba almacenar tu variable,y si son iguales (blob, text) asi como lo mencionas

por otro lado, podrías poner la solución? a alguien más puede serle de utilidad

saludos
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!

Etiquetas: corta, textarea, guardar
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 11:22.