lunes, 29 de septiembre de 2014

PHP (04) Lectura de datos desde WEB (03) Áreas de texto

Hasta ahora hemos aprendido a recoger los datos desde una campo de texto, ¿pero qué sucederá si queremos tomarlos de un área de texto? en principio la respuesta es muy similar, ya que nuestro archivo html donde se encuentra el formulario ser el siguiente:
<html>
<head>
</head>
<body>
 <form method="post" action="miphp.php">
  <p>Introduzca el nombre de los lenguajes que conoce:</p>
  <textarea name="data" cols="50" rows="5">
1.
2.
3.
4.
5.
  </textarea>
  <input type="submit" value="enviar">
  <input type="reset" value="borrar">
 </form>
</body>
</html>

Como podemos ver no tiene nada de especial y tan solo cambia nuestro  "input" que se convierte en un textarea.

Ahora en nuestro archivo miphp.php es donde se recogen los datos del texarea y se muestran en pantalla:
<html>
<head>
</head>
<body>
 <?php
  echo "<h2>Respuesta de PHP</h2>";
  $texto=$_POST["data"];
  echo str_replace("\n", "<br>", $texto);
 ?>
</body>
</html>

Si observamos el código vemos que en la instrucción echo aparece str_replace(...) esta función de php funciona de la siguiente forma:
str_replace(search, replace, subject)
Es decir que en este caso busca los saltos de línea y los cambia por <br> en la variable texto.

Respuesta de PHP

1.HTML
2.CSS
3.JavaScript
4.PHP
5.Java


Esto no da el resultado en el mismo formato que ha sido introducido en el textarea, aunque en muchos casos no nos hará falta. Por ejemplo, imaginemos un textarea en el que se solicita una breve descripción de algo. En ese caso, sería suficiente con poner:
echo $texto;

De este modo se obtendría el texto y se escribiría todo seguido.

No hay comentarios:

Publicar un comentario