0

请看这个例子:

if (strlen($_SESSION['userDetails']['THISNAME']) == 0)
{
    $_SESSION['userDetails'][''.$THISNAME.'Error'] = "autofocus";
    include "$docRoot/html/forms/reg/user_info.html.php";
    exit();
}

我将如何使用THISNAME我所做的名称来创建一个在名称上附加错误的新变量,所以在本例中输出将是THISNAMEError

谢谢!

4

3 回答 3

2

您已经知道“THISNAME”以便测试它的长度。为什么你不能把它再放在你想要的地方?

不过,作为更一般的事情,您可以使用 获取数组的键列表array_keys(),或使用 循环遍历它们foreach($input as $key=>$value)

于 2012-06-17T21:22:21.723 回答
1
//if(strlen($_SESSION['userDetails'][$THISNAME]) == 0)
//|
//|->if you are checking for $THISNAME,
//   why you then create a new varialbe $THISNAME.'Error' ?

//if(strlen($_SESSION['userDetails']["$THISNAME_Error"]) == 0) {
if( ! isset($_SESSION['userDetails']["$THISNAME_Error"])) {

   $_SESSION['userDetails'][$THISNAME.'_Error'] = "autofocus";
   //or
   $_SESSION['userDetails']["$THISNAME_Error"] = "autofocus";

}

应该管用

于 2012-06-17T21:10:48.323 回答
0
$required_fields = array( 'name', 'email', 'password', 'password_verification' );
$errors = array();

foreach ( $required_fields as $field )
{
   if ( !isset($_POST[$field]) )
   {
      $errors[$field] = 'not set';
   }
}

if ( count($errors) > 0 )
{
    // there will be errors in thy forms
}

这是你想要的 ?

于 2012-06-17T21:26:22.737 回答