データベースに新しいプロジェクトを書き込むスクリプトがあります。このスクリプトには、name="omschrijving"のtextarea要素があります。このテキストエリアでは、ユーザーはcssでスタイル設定した<li>要素を指定できます。
問題は、次のように入力すると、データベースで<li> hello </ li>が:&lt; li> hello&lt;/li>になることです。
にtextareaの値を格納するために、mediumtextタイプの列を使用します。
私のフォームのコード:
<form action="nieuwproject.php?action=toevoegen" method="post">
<fieldset class=""> <!-- Set class to "column-left" or "column-right" on fieldsets to divide the form into columns -->
<p>
<label>Naam</label>
<input class="text-input medium-input datepicker" type="text" id="medium-input" name="naam" />
</p>
<p>
<label>Categorie</label>
<select name="categorie" class="text-input medium-input">
<?php $oObj->getCategorieDropdown(); ?>
</select>
</p>
<p>
<label>Opdrachtgever</label>
<input class="text-input medium-input datepicker" type="text" id="medium-input" name="opdrachtgever" />
</p>
<p>
<label>Omschrijving</label>
<textarea class="text-input textarea wysiwyg" id="textarea" name="omschrijving" cols="79" rows="15"></textarea>
</p>
<p>
<label>Werkzaamheden</label>
<textarea class="text-input textarea wysiwyg" id="textarea" name="werkzaamheden" cols="79" rows="15"></textarea>
</p>
<p>
<input class="button" type="submit" value="Submit" />
</p>
</fieldset>
<div class="clear"></div><!-- End .clear -->
</form>
私の挿入スクリプトのコード:
function addProject() {
$this->sQuery = "INSERT INTO projecten (naam,opdrachtgever,omschrijving,werkzaamheden,categorie)
VALUES ('" . $_POST['naam'] . "','" . $_POST['opdrachtgever'] . "','" . $_POST['omschrijving'] . "','" . $_POST['werkzaamheden'] . "','" . $_POST['categorie'] . "')";
$this->rResult = mysql_query($this->sQuery);
}
誰かがこれを修正する方法を知っていますか?このスクリプトはハッカーにとってはお菓子であると私は知っているので、それを指摘する必要はありません。
よろしくお願いします。
マイケル