我有一个带有隐藏字段的表单,看起来像这样:
<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>
隐藏值“title”从 Perch CMS php 内联脚本中获取其值,在本例中为“Bob's Group (test)”。
处理此表单的 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
?>
输出如下所示:
标题:鲍勃的小组(测试)标题:
换句话说, mysql_real_escape_string 导致 title 变成一个空白字符串。
有没有办法处理这个表单值并生成一个安全的 sql 字符串来使用?