0

この例を参照してください。

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

THISNAME名前にErrorを追加する新しい変数を作成するために行ったように、の名前をどのように使用しますか?この例では、出力は次のようになり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 に答える