Skip to content Skip to sidebar Skip to footer

Get And Echo Inputs From Textarea Repeatedly

I have a simple HTML form like this:

Solution 1:

If you don't want to put the values in a database you could use a session

session_start();

at the very top of your page and

 <?php 
     if( $_SESSION['counter'] > 0 ) $_SESSION['texts'] = $_SESSION['texts'] . "<br />Question " . $_SESSION['counter'] . ": Something " . $_POST['question'];   

     $_SESSION['counter']++; 
 ?>

     <?php   echo $_SESSION['texts'];  // put this in a div where you want to see them ?>

This will only clear when the browser is shut.

This is a very crude outline but you could look at tutorials on sessions and how to use them.

You would also need a counter at the bottom of your script to add in the number.

 $_SESSION['counter']++;

Using hidden inputs to replace sessions without array or for loop.

         <?php
          $counter = $counter + (int) $_POST['counter']; // (int) helps sanitise this by forcing type change to integer - any text would be converted to 0
          //echo $counter; // for trackng
          $texts = $_POST['texts']; // MUST be sanitized and escaped for mysqli

          if($counter > 0) $texts = $texts . "<br />Question " . $counter . ": Something " . $_POST['question'];
          $counter++; 
    ?>

           <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
             <textarea id="question" name="question"></textarea>
             <input type="hidden" name="texts" id="texts" value="<?php echo $texts;?>" />
             <input type="hidden" name="counter" id="counter" value="<?php echo $counter; ?>" /> 
             <input type="submit"/>
           </form>


         <?php echo $texts; // put this in a div where you want to see them ?>

Do not use this code without cleaning up the post variables or you will get hacked to bits by hackers. See other posts on preg_replace() and on php.net


Post a Comment for "Get And Echo Inputs From Textarea Repeatedly"