1

私はPHPが初めてで、軽量のCMSを作り始めました。すべての本文コンテンツをデータベースに保存しました。CMS はそれをデータベースから呼び出し、編集するテキスト領域に表示します。ただし、HTML タグなしでテキストを表示する方法があるのではないかと考えていました。この機能を試してみましたstrip_tagが、cms で保存を押すと、html タグなしで保存されます! データベースからのデータを HTML タグなしで表示する方法はありますが、保存すると HTML タグ付きで保存されます。この質問が明確でない場合は申し訳ありませんが、説明するのは非常に困難です。これまでのところ正常に動作している私のコードは次のとおりです。

<?php include_once "includes/scripts.php"; ?>
<?php include_once "includes/connect.php";?>
<?php include_once "includes/cms_page_security.php";?>
<?php
    $sql = "SELECT * FROM content WHERE id = '5'";   
    $result = mysql_query($sql, $connect);
    $num= mysql_numrows($result);mysql_close();
    $row = mysql_fetch_row($result);
    $pg_content = $row['1'];
if (isset($_POST['saveChanges'])){
    $pgcontent = $_POST['edit'];
    $sql_query = ("UPDATE content SET cage_content= '$pgcontent' WHERE cage_content= '$pg_content'");
    mysql_query($sql_query,$connect);
    header('location: admin_cms_staff.php');
    $feedback = "Updated successfully";
    }
?>
<div id="cms_container"><br>
    <h1>Staff Page<img src="images/three_column_grid_line.png" alt="line"></h1>
      <form id="form1" name="form1" method="post">
         <textarea id="content" name="edit"><?php echo $pg_content; ?></textarea>
         <input type="submit" class="submit_edit" value="Save" name="saveChanges" onClick="alertFunction()">
     </form>
    <p class="logout_btn"><a href="admin_cms.php">Back</a></p>
     <?php if(isset($_POST['saveChanges'])){
        echo $feedback;}?>
    </div><!--cms_container-->
<script>
function alertFunction()
{
var r=confirm("Do you want to save the changes you made to the page?");
if (r==true)
  {
  }
else
  {
    return;
  }
}
</script>
</body>
</html>
4

1 に答える 1

1

これを変える:

$pgcontent = $_POST['edit'];

に:

$pgcontent = strip_tags($_POST['edit']);

また、これを変更します。

<textarea id="content" name="edit"><?php echo $pg_content; ?></textarea>

に:

<textarea id="content" name="edit"><?php echo strip_tags($pg_content); ?></textarea>
于 2013-10-01T21:14:52.473 に答える