我有一个表单,用户输入要支付的租金金额。
<form action="search_results.php" method="get">
<input type="text" name="rent" value="$" />
</form>
当用户输入租金时,我正在使用jQuery将美元符号保留在字段中。
$('input[name=rent]').keyup(function() {
$(this).val(function(i,v) {
return '$' + v.replace('$',''); //remove existing, add back.
});
});
当表单发送到search_results.php页面时,它会发送到url,并附加以下get变量:
页面开始加载时,会显示以下错误消息:
警告:mysqli_error()正好需要1个参数,给出0 /nfs/c09/h01/mnt/12345/domains/www.domain.com/html/search_results.php 在第551行
我很确定发生了错误,因为我的sql语句使用$ _GET ['rent']变量来排序所有列出的小于租金金额的列表,并且它不能用美元符号进行它
如何在输入字段发送到search_results.php页面之前从输入字段中删除美元符号字符或如何从search_results.php页面上的url中删除%24然后重新加载页面?
答案 0 :(得分:2)
试试这个:
$('form').submit(function(){
$('input[name=rent]').val($('input[name=rent]').val().replace('$', ''))
})
答案 1 :(得分:1)
这应该有效:
$('form').submit(function(){
$('input[name=rent]').val(function(index, valueWith$){
return valueWith$.substring(1);
});
return true;
});
答案 2 :(得分:1)
嗯,这是一个更好的解决方案 - 您可以在他通过后过滤数据:
$rent = str_replace('$','',$_GET['rent']);
$rent = str_replace('%24','',$rent);
顺便说一句 - 我建议您了解有关SQL注入的更多信息。
答案 3 :(得分:0)
发生此错误是因为您没有向其提供mysqli资源。
if (!mysqli_query($link, $query)) {
printf("Errormessage: %s\n", mysqli_error($link));
}
您只需调用此函数:mysqli_error();