Problema con envios de comentarios
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Problema con envios de comentarios
Hola que tal, espero que se encuentren muy bien ya llevaba tiempo que no los molestaba jejeje, hice un sistema de comentarios los nombrados libros de visitas, pero he tenido un detalle que no se si se deba al diseño de mi pagina o la base de datos, porque cuando un usuario manda un comentario asi: jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj etc. Osea si manda las letras pegadas y si es mucho el comentario se sale del limite de la pagina y pues por lo tanto se ve mal, espero que me den sus sugerencias, de antemano gracias.
Re: Problema con envios de comentarios
Usando divs tipo float, no te destruye la pagina, pero si el texto sale del div.
Sino otra que podes hacer es verificar el tamaño de las palabras y cortarlas si son muy extensas.
Sino otra que podes hacer es verificar el tamaño de las palabras y cortarlas si son muy extensas.
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
gracias por sus respuestas, pero creo que no me explique bien, el problema reside al enviar el comentario, dentro del area de texto no tengo ningun problema, sino que al enviar un comentario especificamente asi: jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj, pues en vez de salir dentro del contenido se desborda y sale de la anchura de la pagina, miren les dejo una imagen:
http://img526.imageshack.us/img526/1630/pruebatd.gif
http://img526.imageshack.us/img526/1630/pruebatd.gif
- Alejandro
- Administrador
- Mensajes: 4111
- Registrado: 04 May 2009, 18:28
- Twitter: @spamloco
- Ubicación: Uruguay
- Contactar:
Re: Problema con envios de comentarios
Como dice pac-man, con divs el texto se acomoda al momento de publicarlo.
Cómo es el código de la página que muestra los comentarios dejados?
Cómo es el código de la página que muestra los comentarios dejados?
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
Gracias por sus aportes, miren aqui les publico el codigo de la pagina:
<div id="columnaderecha">
<h2>Manzanillo te espera</h2>
<?php
// conectamos al servidor MySQL
$link = mysql_connect('localhost', 'xxxx', 'xxxxx');
if(!$link) {
die("Error al intentar conectar: ".mysql_error());
}
// seleccionamos la base de datos
$db_link = mysql_select_db('xxxxx', $link);
if(!$db_link) {
die("Error al intentar seleccionar la base de datos". mysql_error());
}
/* fin conexion ************/
/* prosesamiento de los datos */
// verificamos si ha sido enviado el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// verificamos que el formulario
// no venga vacio
if(!empty($_POST['usuario']) && !empty($_POST['firma'])){
// creamos las variables a usar en la consulta
// y le asignamos sus valores
$usuario = htmlentities(trim($_POST['usuario']));
$firma = htmlentities(trim($_POST['firma']));
// la consulta INSERT
$sqlInsert = mysql_query("INSERT INTO firmar (usuario, firma)
VALUES ('$usuario', '$firma')", $link)
or die(mysql_error());
}else{
echo "Debe llenar todos los campos";
}
}
/* fin del proseso de datos */
/* mostrando los registros (firmas) */
$sqlQuery = mysql_query("SELECT * FROM firmar", $link)
or die(mysql_error());
$totalFirmas = mysql_num_rows($sqlQuery);
// verificamos si hay
// alguna firma registrada,
// de lo contrario enviamos un mensaje
if($totalFirmas == 0){
echo "no hay ningun comentario aun ni pex";
}
// si hay firmas registradas
// las mostramos
else{
while($row = mysql_fetch_array($sqlQuery)){
echo "<div class='info'><b>$row[usuario]</b> dijo:<br />". nl2br($row['firma']) ."</div><p class='titulo'>";
}
}
?>
<!-- el formulario -->
<form name="html" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Usuario:<br />
<input type="text" name="usuario" />
</p>
<p>
Firma:<br />
<textarea name="firma" cols="35" rows="7"></textarea>
</p>
<input type="submit" name="enviar" value="Enviar" />
</form>
</div>
cabe aclarar que en donde se muestran los comentarios en un div que le aplique estilos, si se fijan le puse unos estilos <div class"info"> este tiene de atributos asi:
.info {
font-family:Arial, Helvetica, sans-serif;
font-size:13px;
text-align:justify;
border: 1px solid;
margin: 10px 0px;
padding:25px 30px 15px 50px;
background-repeat: no-repeat;
background-position: 10px center;
}
.info {
color: #FFFFFF;
background-color: #01446f;
background-image: url('images/usuario.png');
background-position:right;
}
habia solucionado a medias el problema añadiendo el atributo overflow: hidden; pero el texto obviamente nada mas sale oculto si pongo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj etc no sale todo completo sino que al llegar al final del contenedor info las letras restantes se ocultan como si no existieran pero se que estan ahi y si despues de jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj se agrega texto normal osea palabras con espacios pues igual el texto pegado si sobrepasa se oculta y el texto normal se ve bien. Gracias por sus sugerencias y espero encontrar ese condenado error XD.
<div id="columnaderecha">
<h2>Manzanillo te espera</h2>
<?php
// conectamos al servidor MySQL
$link = mysql_connect('localhost', 'xxxx', 'xxxxx');
if(!$link) {
die("Error al intentar conectar: ".mysql_error());
}
// seleccionamos la base de datos
$db_link = mysql_select_db('xxxxx', $link);
if(!$db_link) {
die("Error al intentar seleccionar la base de datos". mysql_error());
}
/* fin conexion ************/
/* prosesamiento de los datos */
// verificamos si ha sido enviado el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// verificamos que el formulario
// no venga vacio
if(!empty($_POST['usuario']) && !empty($_POST['firma'])){
// creamos las variables a usar en la consulta
// y le asignamos sus valores
$usuario = htmlentities(trim($_POST['usuario']));
$firma = htmlentities(trim($_POST['firma']));
// la consulta INSERT
$sqlInsert = mysql_query("INSERT INTO firmar (usuario, firma)
VALUES ('$usuario', '$firma')", $link)
or die(mysql_error());
}else{
echo "Debe llenar todos los campos";
}
}
/* fin del proseso de datos */
/* mostrando los registros (firmas) */
$sqlQuery = mysql_query("SELECT * FROM firmar", $link)
or die(mysql_error());
$totalFirmas = mysql_num_rows($sqlQuery);
// verificamos si hay
// alguna firma registrada,
// de lo contrario enviamos un mensaje
if($totalFirmas == 0){
echo "no hay ningun comentario aun ni pex";
}
// si hay firmas registradas
// las mostramos
else{
while($row = mysql_fetch_array($sqlQuery)){
echo "<div class='info'><b>$row[usuario]</b> dijo:<br />". nl2br($row['firma']) ."</div><p class='titulo'>";
}
}
?>
<!-- el formulario -->
<form name="html" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Usuario:<br />
<input type="text" name="usuario" />
</p>
<p>
Firma:<br />
<textarea name="firma" cols="35" rows="7"></textarea>
</p>
<input type="submit" name="enviar" value="Enviar" />
</form>
</div>
cabe aclarar que en donde se muestran los comentarios en un div que le aplique estilos, si se fijan le puse unos estilos <div class"info"> este tiene de atributos asi:
.info {
font-family:Arial, Helvetica, sans-serif;
font-size:13px;
text-align:justify;
border: 1px solid;
margin: 10px 0px;
padding:25px 30px 15px 50px;
background-repeat: no-repeat;
background-position: 10px center;
}
.info {
color: #FFFFFF;
background-color: #01446f;
background-image: url('images/usuario.png');
background-position:right;
}
habia solucionado a medias el problema añadiendo el atributo overflow: hidden; pero el texto obviamente nada mas sale oculto si pongo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj etc no sale todo completo sino que al llegar al final del contenedor info las letras restantes se ocultan como si no existieran pero se que estan ahi y si despues de jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj se agrega texto normal osea palabras con espacios pues igual el texto pegado si sobrepasa se oculta y el texto normal se ve bien. Gracias por sus sugerencias y espero encontrar ese condenado error XD.
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
ya he probado ponerle la propiedad float pero se alarga demasiado la caja que contiene el texto y a la vez se sale de la maquetacion de la pagina, aun no puedo resolver ese detalle.
- Alejandro
- Administrador
- Mensajes: 4111
- Registrado: 04 May 2009, 18:28
- Twitter: @spamloco
- Ubicación: Uruguay
- Contactar:
Re: Problema con envios de comentarios
Estuve mirando el código, pero la verdad no sabría decir bien qué pasa. Si nadie más contesta nada y logras arreglarlo, cometalo después para saber
- elQuique
- Moderador
- Mensajes: 2227
- Registrado: 05 May 2009, 18:43
- Twitter: @elQuique
- Ubicación: Florida, Uruguay
- Contactar:
Re: Problema con envios de comentarios
a ver ....
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.... [edited by spamcrazy]
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.... [edited by spamcrazy]
- elQuique
- Moderador
- Mensajes: 2227
- Registrado: 05 May 2009, 18:43
- Twitter: @elQuique
- Ubicación: Florida, Uruguay
- Contactar:
Re: Problema con envios de comentarios
Comprobado en este foro pasa lo mismo :)
En CSS3 podes usar:
word-wrap: break-word
de esa forma no desborda ya que indicando el valor "break-word" para el atributo "word-wrap" le dices que rompa las palabras si es necesario para no desbordar contenedores :)
Ejemplo:
CSS
HTML
Ojo, como dije solo funciona en CSS3, solo los navegadores actuales lo soportan :)
Más info en W3C: http://www.w3.org/TR/css3-text/#word-wrap
En CSS3 podes usar:
word-wrap: break-word
de esa forma no desborda ya que indicando el valor "break-word" para el atributo "word-wrap" le dices que rompa las palabras si es necesario para no desbordar contenedores :)
Ejemplo:
CSS
Código: Seleccionar todo
div#pirulo {
word-wrap: break-word
}
Código: Seleccionar todo
<div id="pirulo">jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.... [edited by spamcrazy]</div>
Más info en W3C: http://www.w3.org/TR/css3-text/#word-wrap
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
jajajajajaja perdon por la risa pero Quique con su prueba me hizo reir, alargo toda la pagina XD, y la propiedad word-wrap: break-word no la habia visto, gracias al menos asi ya corregire el problema con los navegadores actuales, desde cuando tuve problema de ese tipo pero me pregunto ¿ tiene que ver con el diseño de la pagina(junto con la programacion) o es problema de los navegadores?
- elQuique
- Moderador
- Mensajes: 2227
- Registrado: 05 May 2009, 18:43
- Twitter: @elQuique
- Ubicación: Florida, Uruguay
- Contactar:
Re: Problema con envios de comentarios
De los navegadores no es el problema, ahí se puede atribuir a 2 cosas:
1) un problema de programación por permitir ese tipo de ingreso de palabras largas.
2) un problema de diseño por no hacer el wrap, pero claro en este caso solo esta la solución en CSS3, de otra forma hay que solucionarlo en la programación, caso 1
1) un problema de programación por permitir ese tipo de ingreso de palabras largas.
2) un problema de diseño por no hacer el wrap, pero claro en este caso solo esta la solución en CSS3, de otra forma hay que solucionarlo en la programación, caso 1
Re: Problema con envios de comentarios
Validalo via programación mejor, antes de insertar el comentario.
Y te recomendaria que veas PHP orientado a objetos.
SaluDOS!
Y te recomendaria que veas PHP orientado a objetos.
SaluDOS!
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
muchas gracias por sus consejos, pero entonces en esos casos puedo validar en javascript para que no permita que se ingrese palabras demasiado largas, basta solamente con validar con javascript o tambien en php?....
- Alejandro
- Administrador
- Mensajes: 4111
- Registrado: 04 May 2009, 18:28
- Twitter: @spamloco
- Ubicación: Uruguay
- Contactar:
Re: Problema con envios de comentarios
Puedes hacerlo de las dos formas, como te guste más, en PHP tal vez sea mejor porque al hacerlo en JavaScript puede pasar que algunos lo tengan desactivado o usen algún bloqueador como NoScript.
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
tendre que implementar las 2 formas para asegurar, muchas gracias por sus consejos, me quedo con una duda, hace poco un profesor menciono que javascript no es un lenguaje de programacion porque no cuenta con los requisitos para ser un lenguaje de programacion, supongo que se refiere a su propio compilador, o la verdad no se, ¿Que opinan al respecto? , siempre he pensado que javascript es un lenguaje de programacion XD.
- Alejandro
- Administrador
- Mensajes: 4111
- Registrado: 04 May 2009, 18:28
- Twitter: @spamloco
- Ubicación: Uruguay
- Contactar:
Re: Problema con envios de comentarios
No conozco la definición pura de lenguaje de programación, pero la Wikipedia dice que JavaScript "es un lenguaje de scripting" y sobre lenguaje de programación dice:
Yo le creo más a la WiKi que a los profesores pero creo que tienes razón.Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos)
- elQuique
- Moderador
- Mensajes: 2227
- Registrado: 05 May 2009, 18:43
- Twitter: @elQuique
- Ubicación: Florida, Uruguay
- Contactar:
Re: Problema con envios de comentarios
2 cosas:
1) Preguntale a tu profesor si ha programado algo en serio o solo se limita a enseñar ?
2) Lenguaje de programación, es cualquier lenguaje que permita programar algo, justamente por eso se llama lenguaje de programación, pero claro los profes si no leen una definición no saben lo que significa por la falta de práctica.
PHP no tiene compilador, por tanto tampoco es un lenguaje de programación ?
AJAX funciona casi todo con JavaScript, por tanto quien programo gMail no es programador, ni sabe programar ya que usa algo que no es un lenguaje de programación, y tampoco los Excel, Words y Photoshops onlines.
1) Preguntale a tu profesor si ha programado algo en serio o solo se limita a enseñar ?
2) Lenguaje de programación, es cualquier lenguaje que permita programar algo, justamente por eso se llama lenguaje de programación, pero claro los profes si no leen una definición no saben lo que significa por la falta de práctica.
PHP no tiene compilador, por tanto tampoco es un lenguaje de programación ?
AJAX funciona casi todo con JavaScript, por tanto quien programo gMail no es programador, ni sabe programar ya que usa algo que no es un lenguaje de programación, y tampoco los Excel, Words y Photoshops onlines.
-
- Nivel 4
- Mensajes: 125
- Registrado: 04 Jul 2009, 14:35
Re: Problema con envios de comentarios
A eso mismo yo iba, y tienes toda la razon Quique, el profesor del que hablo programa en visual basic.net, y segun cuenta programo en pascal, fox pro, delphi, clarion, etc. Y defiende mucho visual basic XD, pero no tengo conocimiento que sepa programar en lenguajes como php, asp, javascript etc. Solo se que sabe programar bien en Visual basic, pero queria despejarme esa duda, porque yo me decia a mi mismo, si javascript no es un lenguaje de programacion entonces que es XD, aparte porque veo mas dificial la programacion en javascript que en php.
- elQuique
- Moderador
- Mensajes: 2227
- Registrado: 05 May 2009, 18:43
- Twitter: @elQuique
- Ubicación: Florida, Uruguay
- Contactar:
Re: Problema con envios de comentarios
Para mi Clarion, Genexus, y otros son menos leguajes de programación que los otros mencionados, ya que supuestamente la idea de ellos es justamente evitar programar y solo "dibujar" todo :P