我想用 php 验证表单。
为此,我创建了一个类“benutzer”和该类的公共函数“benutzerEintragen”来验证表单:
class benutzer
{
private $username = "";
private $mail = "";
private $mail_check = "";
private $passwort = "";
private $passwort_check = "";
public $error_blank = array();
public $error_notSelected = array();
public $error_notEqual = array();
public function benutzerEintragen () {
$textfields[0] = $this->username;
$textfields[1] = $this->mail;
$textfields[2] = $this->mail_check;
$textfields[3] = $this->passwort;
$textfields[4] = $this->passwort_check;
foreach ($textfields as $string) {
$result = checkFormular::emptyVariable($string);
$error_blank[] = $result;
}
在函数“benutzerEintragen”中,我用适当的 $_POST 条目填充了变量“用户名,邮件”等等(上面的代码中没有显示)。通话
checkFormular::emptyVariable($string)
如果该字段未设置或为空,则返回“TRUE”,否则返回 FALSE。
现在,当我尝试创建此类的新实例时,执行该函数并访问 $error_blank[0] 数组为空!
if (($_SERVER['REQUEST_METHOD'] == 'POST')){
$BENUTZER = new benutzer();
$BENUTZER->benutzerEintragen();
echo $BENUTZER->error_blank[0];}
所以最后一行导致“注意:未定义的偏移量:0”。它似乎与数组结构有关,因为如果我这样做
echo $BENUTZER->mail;
我得到了我在表格中写的任何输入,这是正确的。此外,当我在 phpEd 中运行调试器时,foreach 循环似乎做了正确的事情,但似乎在函数执行后数组“error_blank”被删除了。
任何帮助将不胜感激。提前致谢。