2013-02-06 45 views
0

我有一个输入表单,我用它来在数据库中发布一些数据,问题是它不会允许我发布像“+”,“ &“等。输入字段将不允许打印一些操作员

现在我用这个格式:

$postPagesashtepi = $_POST["postPagesashtepi"]; 

的形式如下:

<input id="pagesashtepi" name="pagesashtepi" type="text" size="40" value="<?php echo $row['pagesashtepi'];?> 

我也用filter sanitized太多,但再没有成功.. 有人可以帮助我吗?

+1

显示用于将数据插入数据库的代码。 –

+0

你的表单方法是Post吗? –

+1

你是HTTP的新手,不是吗。 –

回答

0

您可以使用

$string=stripslashes($string); 

这让你输入取消报价DB

使用此功能安全输入

function dbcodec($string){ 
    $string=stripslashes($string); 
    $string=str_replace("\\",'\\',$string); 
    $string=str_replace("'","\'",$string); 
    $string=str_replace("`","\`",$string); 
    $string=str_replace('"','\"',$string); 
    $string=str_replace('*','\*',$string); 
    return $string; 
} 

,您可以使用mysql_real_escape_string fo r转义输入

+0

它仍然不会工作...我是php和SQL服务器的PHP .. – pyetjegoo

+0

@pyetjegoo测试这是什么?SQL错误?和** print_r($ _ POST); **看到的是任何帖子输入 –

+0

没有任何错误,我的意思是它不会把字符.. – pyetjegoo

1

无论何时将用户提供的内容输出到浏览器,您都应该始终调用htmlspecialchars以确保人们不会将HTML注入到您的页面中。

+0

不幸的是,它不会工作.. 如果我插入像“&”这样的字符它将不会工作,它就像它不接受输入.. 我使用的是PHP和SQL服务器。 。我猜,我读过它可能与utf encode..something有关。 – pyetjegoo

0

您在帖子中传递了错误的名称。

$postPagesashtepi = htmlspecialchars($_POST["postPagesashtepi"]);

+0

不,因为我用ajax发布它,所以名称不正确..但使用htmlspecialchars不会发布... – pyetjegoo

+0

好的现在检查这个编辑的代码,也许它是帮助。 –

+0

不幸的是,它不会工作.. 如果我插入像“&”这样的字符它将不会工作,它就像它不接受输入.. 我使用PHP和SQL服务器..我猜,我读它可能与utf encode ..something有关.. – pyetjegoo