PHP OOP新手-需要将$u POST数据放入变量中
我基本上是在玩OOP,并在创建一种验证和清理输入的方法时,我开始遇到清理问题,然后执行进一步的验证。我要寻找的是获取发布的PHP OOP新手-需要将$u POST数据放入变量中,php,oop,Php,Oop,我基本上是在玩OOP,并在创建一种验证和清理输入的方法时,我开始遇到清理问题,然后执行进一步的验证。我要寻找的是获取发布的$\u POST['name']数据,清理输入以删除任何数字,并验证所留下的数据既不是null,也不是数字字符 但是我无法将经过消毒的输入保存到$sanitized,它似乎是空的,但是当我替换 $sanitised=$fv->noNumbers($_POST['name']); 与 一切正常,所以我想我把这个$sanitized变量搞砸了 我想学习如何解决这个问题,或
$\u POST['name']
数据,清理输入以删除任何数字,并验证所留下的数据既不是null,也不是数字字符
但是我无法将经过消毒的输入保存到$sanitized
,它似乎是空的,但是当我替换
$sanitised=$fv->noNumbers($_POST['name']);
与
一切正常,所以我想我把这个$sanitized
变量搞砸了
我想学习如何解决这个问题,或者说“你是个白痴,做错了一切”,我都会非常感激
<?php
class formSanitise {
public function noNumbers($value) {
$value = preg_replace('/[0-9]/', '', $value);
}
public function isEmpty($value) {
return (!isset($value) || trim($value) == '') ? true : false;
}
public function isAlpha($value) {
return preg_match('/[^a-z]/i', $value) ? false : true;
}
?>
processor.php
您需要在非数字中创建一个值,或者传递$value
返回方法:
public function noNumbers($value) {
return preg_replace('/[0-9]/', '', $value);
}
参考文献
public function noNumbers(&$value) {
$value = preg_replace('/[0-9]/', '', $value);
}
返回值
表示$value
是一个完全不同的变量,从函数返回时将分配给$sanitized
。通过引用传递意味着$value
与传递给非数字的变量完全相同,因此,发生在函数内部变量上的任何事情都将发生在已传入的变量上。在上述代码段中,函数noNumbers不返回任何值。传递给函数的参数仅在该函数内有一个作用域,为了使该值可用于调用函数,必须有一个函数中的return语句,它会将值返回给调用函数。或者,您可以通过引用将值传递给函数。noNumbers
不返回任何值。哦,您知道我如何解决这个问题,使它返回值吗?呃,添加一个return$value代码>语句?看,太棒了,谢谢!你能简单地解释一下return和reference方法的不同用法吗?@Dark当然!我把它添加到我的答案中。
public function noNumbers($value) {
return preg_replace('/[0-9]/', '', $value);
}
public function noNumbers(&$value) {
$value = preg_replace('/[0-9]/', '', $value);
}