我如何在PHP中验证用户输入

时间:2011-02-14 08:12:08

标签: php error-handling validation kohana-3 xss

我正在寻找一个可以帮助我从表单验证用户输入的PHP类。例如,确保用户输入了必填字段,字段未超过其最大长度,用户在“年龄”字段中输入了数字等等...如果不是我想显示用户错误并将该错误记录到数据库中。另外,如果可能的话,用同一个类来防止sql注入&来自用户输入的xss。 是否有PHP 5课程可以帮助我完成所有这些任务? (或多个班级?)

3 个答案:

答案 0 :(得分:0)

你的意思是说要检查用户是否使用PHP在服务器端正确输入了所有字段吗?如果是,那么您的方法效率很低,因为它会增加服务器上的流量和负载,从而导致错误的提交。所以通常做的是Javascript客户端脚本用于在提交之前验证表单。此链接可以帮助您在Javascript中实现简单的客户端验证。 http://www.elated.com/articles/form-validation-with-javascript/

正如deceze所指出的,如果您需要使用PHP进行服务器端验证,那么此链接有一个简单的示例,说明如何使用一些内置函数来完成它。 http://www.htmlcenter.com/blog/php-form-validation/

答案 1 :(得分:0)

$post = Validate::factory($_POST)

->filter(TRUE, 'trim')
->rule('name','not_empty')
->rule('age','not_empty')

以上代码表示如何使用它。如需更多参考,请访问以下链接

http://kohanaframework.org/3.0/guide/kohana/security/validation

希望这有帮助。

谢谢。

答案 2 :(得分:-1)

你可以同时使用javascript框架(即jquery)和php。

你的html表单将ajax数据发布到服务器。您的服务器返回各种错误或成功代码。然后你可以使用jquery操纵你的html。 这是客户端的一个示例usinf jquery;

    $( "a#logSubmit").click(function(){
    $.post("/control.php?process=login", {username: $('input#logName').val(), password: $('input#logPass').val()},
   function(data) {
     if(data == "ok"){
     //success
     $( "#dialog-login" ).dialog("close");
     }
     else{
         $("label#input").html("your input is not valid");
         }
   });
});

你的php端应该像这样

<?php
if(!isset($_POST['nik']) or !isset($_POST['pass']))
{
    die("not ok");
}
if($_POST['nik']=="" or $_POST['pass'] =="")
{

    die("not ok");
}

//here you can`enter code here` validate your data and issue a custom error or success response.

//success!
die('ok');
?>