![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
| |||
Problema con texto en formulario Hola que tal, primeramente saludos cordiales a todos los que ayudan a los novatos como yo, se los he estado agradeciendo bastante, vengo a darles lata de nuevo, resulta que hice un libro de visitas en mi pagina que aun no subo aun la estoy preparando, tengo un formulario donde los usuarios ingresan su nombre y su comentario pero el problema es que si alguien ingresa letras asi: gggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggggg, osea todo el texto pegado y le da enviar desfigura mi pagina web, si se escribe un texto normalmente todo esta bien, entonces se me ocurre que debo validar que si se ingresa texto continuo por ejemplo 30 caracteres continuos que salga un mensaje diciendo que no se permite texto continuo, asi se me ocurre que debo hacerle, pero quisiera que me orientaran y me hecharan una mano, de antemano muchas gracias por leer mi problema. ![]() |
| |||
Respuesta: Problema con texto en formulario pues como dice Triby: esto te podria servir Código PHP: |
| |||
Respuesta: Problema con texto en formulario Hola koferito, La mejor solución que puedes tomar es a la hora de mostrar la salida, por ejemplo utilizando capas (div) que eviten que la página se "desmonte". Te digo esto porque quien quiera meter texto con malas intenciones irá por delante de las protecciones que pongas... por desgracia el ladrón va por delante de la policía. Un saludo, Carlos
__________________ Contrata Tu Web La mejor solución para profesionales y pymes |
| |||
Respuesta: Problema con texto en formulario Muchísimas gracias por sus respuestas amigos se los agradezco mucho, voy a calar con el código php que me sugirieron, aunque tengo duda si utilizar un codigo limitante, porque me imagino que seria mucho mejor que aunque el usuario ingresara texto continuo la pagina no se desconfigurara, toda la pagina la tengo dentro de una capa DIV y ya todo el cuerpo enmaquetado en tablas y celdas. Otra cosa como hago la referencia de este codigo en el formulario donde ingresan el comentario. $verificar_texto=explode(" ",$texto); $numero_caracteres_permitidos=30; foreach($verificar_texto as $valor) { if(strlen($valor)>=$numero_caracteres_permitidos) // texto no valido; else // texto valido; } muchas gracias por estarme ayudando amigos. |
| |||
Respuesta: Problema con texto en formulario hombre, si no quieres usar el codigo php ese, puedes poner en el div overflow:auto; lo que creara scrollbar en el div si necesario... si quieres usar el codigo php, tienes que ponerlo al recivir el formulario, cuando envias el formulario con todo el texto, lo recives por post cuando lo tienes pues puedes hacer lo siguiente: $texto=htmlspecialchars($_POST['texto']); y el codigo que te puse de seguido.. si el texto es valido lo envias a la Base de datos, si no pues puedes poner un mensage al hijo de su madre que a intentado poner mucho texto de seguido.. suerte |
| |||
Respuesta: Problema con texto en formulario Muchas gracias a todos, sus consejos me estan siendo de gran ayuda, aunque aun tengo problemitas, mas que nada por que estoy novato en la programacion php, pero le estado calando, tengo problemas de donde colocar el codigo que escribio el amigo fatasma ya que mi script de procesamiento de formulario y envio a la base de datos es este: <?php /* conexion ****************/ // conectamos al servidor MySQL /* conexion ****************/ // conectamos al servidor MySQL $link = mysql_connect("localhost", "root", "cabradesnuda"); if(!$link) { die("Error al intentar conectar: ".mysql_error()); } // seleccionamos la base de datos $db_link = mysql_select_db("libro_visitas", $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 firmas (usuario, firma) VALUES ('$usuario', '$firma')", $link) or die(mysql_error()); }else{ echo "¡¡NO SE ENVIO TU MENSAJE, DEBES LLENAR TODOS LOS CAMPOS!!"; } } /* fin del proseso de datos */ /* mostrando los registros (firmas) */ $sqlQuery = mysql_query("SELECT * FROM firmas", $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 "Nadie se ha animado a firmar este libro :("; } // si hay firmas registradas // las mostramos else{ while($row = mysql_fetch_array($sqlQuery)){ echo "<p><b>$row[usuario]</b> predico:<br />". nl2br($row['firma'])."<p></p><hr />"; } } ?> <!– el formulario –> <center>Dejen su comentario</center> <form name="html" action="<?php $_SERVER['localhost/PHP_SELF']; ?>" method="post"> <TABLE BORDER=0 align="center" width="400"> <TR> <TD>Nombre:</TD> <TD> <input type="text" name="usuario" class="transparente" /> </TD> </TR> <TR> <TD>Comentario:</TD> <TD > <textarea name="firma" WRAP="soft" cols="35" rows="7" style="overflow: auto;"></textarea> </TD> </TR> <TR> <TD COLSPAN=2> <input type="submit" name="enviar" value="Enviar"> </TD> </TR> </TABLE> </form> y el codigo que me sugirio fatasma es este: $texto=htmlspecialchars($_POST['texto']); $verificar_texto=explode(" ",$texto); $numero_caracteres_permitidos=30; foreach($verificar_texto as $valor) { if(strlen($valor)>=$numero_caracteres_permitidos) // texto no valido; else // texto valido; } |
| ||||
Respuesta: Problema con texto en formulario Otra opción es permitir dicho texto (para campos de texto libre) y utilizar la función wordwrap solamente para cortarlo y evitar la "ruptura del diseño". www.php.net/wordwrap Pero si de plano se quiere impedir el ingreso de dicho texto, esta bien la sugerencia, solo que hay que tomar en cuenta que es más tiempo procesando la información. Un saludo ![]()
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| |||
Respuesta: Problema con texto en formulario Orale compañero jam1138 tambien me parece buena idea la que me recomendastes de cortar el texto cada ciertas palabras o letras, pero como haria referencia el codigo wordwrap al texto que se mostrara en la pagina al enviar, osea, como acomodo el codigo para que haga esa funcion a los comentarios que envien los usuarios, espero me haya explicado y muchas gracias de antemano. |