javascript - How to stop people from putting code in my form? -


this question has answer here:

so, i've got form enters database , values echoed on page. have been trying figure out how disable code being processed when put through form.

this form:

    <div id="postform">         <form method="post" action="post.php" id="messageform" autocomplete="off">             <table border="0" align="center">                 <tr><td id="formblock"><span>name</span></td>                 <td><input id="messagename" name="name" type="text" value="anonymous" maxlength="32" required>                     <input style="margin-right: -1px; margin-left: -4px;" type="submit" name="submit" value="send message"></td></tr>                 <tr><td id="formblock"><span>title</span></td>                     <td><input id="messagetitle" name="title" type="text" maxlength="32" width="20"></td></tr><br>                 <tr><td id="formblock"><span>message</span></td>                     <td><textarea onkeyup="countchar(this)" name="message" rows="6" cols="50" form="messageform" maxlength="2000" style="font-family: arial;" required></textarea></td></tr>             </table>         </form>             <table align="center" style="width: 290px; border: 0px;">                 <td><div id="warningtext" style="font-size: 10px; margin-top: -15px;">please read faq before posting!</div></td>                 <td><div id="messagetext" style="font-size: 10px; margin-top: -15px; text-align: right;"></div></td>             </table>     </div> 

and how entries being echoed:

   <div id="messages">         <?php             $servername = "localhost";             $username = "user";             $password = "pass";             $dbname = "db_posts";             $tablename = "posts";              $conn = new mysqli($servername, $username, $password, $dbname);             if ($conn->connect_error) {                 die("failed connect: " . $conn->connect_error);              }              $sql = "select id, rating, name, title, message, date, time posts order date desc, time desc";             $result = $conn->query($sql);               if ($result->num_rows > 0) {                 while($row = $result->fetch_assoc()) {                     echo "<br><div id='messagebar'><b><a class='rateup' href='index.php' data-id=' " . $row['id'] . " ' title='vote up'>&#9650;</a> ";                     echo $row["rating"];                     echo " <a class='ratedown' href='index.php' title='vote down'>&#9660;</a> </b>";                     echo "posted <b>";                     echo $row["name"];                     echo "</b> on ";                     echo $row["date"];                     echo " @ ";                     echo $row["time"];                     if (!empty($row['title'])) {                         echo " - <b>";                         echo $row["title"];                         echo "</b>";                     }                     echo "<span style='float: right'>#";                     echo $row["id"];                     echo "</span>";                     echo "</div><div id='messagecontent'>";                     echo $row["message"];                     echo "</div><br><hr>";                 }             } else {                 echo "<br>";                 echo "<center><i>it's dusty in here</i></center>";                 echo "<br>";             }              $conn->close();         ?>     </div> 

i'm sure there's better way can echo of data, if has suggestions feel free let me know.

tl;dr: if enters <b>text</b> form, want echo <b>text</b>.

it's common encode user data it's rendered screen. don't use php, can use htmlentities() function.

this way, characters interpreted commands in browser encoded display entered originally.