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