Send POST Textarea one value per line

1

I have form with textarea where it will have a value per line. Example:

I need to send this value to the MySQL Database.

Then on another page I need to create a For to list these values.

What brings me confusion is that you can not have anything as a reference for the line break.

    
asked by anonymous 22.06.2015 / 14:09

3 answers

3

TextArea already breaks text with "\ n";

<?
  $linhas = split("\n", $txtBox);
  foreach($linhas as $linha)
  {
    echo $linha . " <br> ";
  }
?>


<form action="" method="get">
<p>
  <textarea name="txtBox" cols="50" rows="10" id="txtBox"></textarea>

</p>
<label>
<input type="submit" name="Submit" value="Submit" />
   </label>
</form>
    
22.06.2015 / 14:23
3

When you retrieve this information, try using the php explode to create a vector and do it.

  

Example

<?php

    $retorno_db = $_POST['text_area']; // Aqui coloca o valor do textarea que vai para o banco

    $dados = explode("\n",$retorno_db);

    for($i = 0; $i < count($dados); $i++) {

        $linha = $retorno_db[$i];
        //Cada vez que passar vai ser uma linha... Agora é só usar a lógica.
        echo $linha."<br />";
    }
    
22.06.2015 / 14:46
0

There is the '\ n' character that delimits the line break in Javascript ... Try to scroll through the textarea value, character by character ... when you find a '\ n' or the end of the string, you have found the end of a line and can save it in an array. See the code sample:

<script>

    var texto = "Texto que \nestará no \ntextarea em várias \nlinhas";

    var linhas = [];
    var linha = ""; 
    for (var i = 0; i < texto.length; i++ ){
       if (texto[i] != '\n') {
          linha += texto[i];
       }

       if (texto[i] == '\n' || i == texto.length - 1) {
          if (linha.length != 0 )
             linhas.push( linha );
          linha = "";
       }       
    }

    //A variável linhas é um vetor contendo cada linha do texto separada
    console.log (linhas);

</script>
    
22.06.2015 / 14:42