次のような非表示フィールドを持つフォームがあります。
<form id="myform" method="post" action="/myphp.php">
<div>
<label for="name">Name</label>
<input type="text" id="name" name="name" />
</div>
<div>
<input type="hidden" id="id" name="title" value="Bob's Group (test)" />
</div>
<div>
<input type="submit" value="Sign up" class="send_button" />
</div>
</form>
非表示の値「タイトル」は、Perch CMS php インライン スクリプトからその値を取得します。この場合は、「ボブのグループ (テスト)」です。
このフォームを処理する php スクリプトは次のようになります。
<?php
// Get and check input
$title = check_input($_POST['title']);
echo "title: $title<br>";
$name = check_input($_POST['name']);
$title = mysql_real_escape_string($title);
// Some sql queries that use $title
?>
出力は次のようになります。
title: ボブのグループ (テスト) title:
つまり、mysql_real_escape_string により、タイトルが空白の文字列になります。
このフォームの値を処理し、使用する安全な SQL 文字列を生成する方法はありますか?