首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何遍历这个POST数组?

我如何遍历这个POST数组?
EN

Stack Overflow用户
提问于 2019-07-26 20:54:14
回答 2查看 127关注 0票数 1

我有通过POST方法传递的数据。然而,当我试图从其中获取一些数据并将其设置为会话变量时,当我print_R($_POST)时,它还没有数据,我看到它有数据。

这是我在对POST数据执行print_r()时得到的结果。

代码语言:javascript
复制
Array ( 
    [_csrf] => nXRvIHfHWeao64YBdwcdFJa3fz-KShIyAuHDNtKQqhCkDRdwErUqkOrSyHQQamtR5cBHWc57QUNq16hflaftKQ== 
    [LoginForm] => Array (
        [compayname] =>Termite Soup 
        [username] => Jim.Bot
        [password] => 123456 
        [url] => 
    ) 
    [login-button] => 
)

这就是我尝试过的。

这是正在填写表单的表单。

代码语言:javascript
复制
<?php $form = ActiveForm::begin([
        'id' => 'login-form',
        'layout' => 'horizontal',
        'fieldConfig' => [
            'template' => "{label}\n<div class=\"col-lg-10\">{input} 
        </div>\n<div class=\"col-lg-8\">{error}</div>",
            'labelOptions' => ['class' => 'col-lg-3 control-label'],
        ],
     ]); 
    ?>

        <?php echo $form->field($model, 
  'compayname')>dropDownList(['GF_TB_TNT' => 'GF-TNT', 
        'Chicken Soup' =>'Dog Soup',
        'Termite Soup' =>'Termite Soup',
        ],

        ['prompt'=>'Select Company']); ?>



        <?= $form->field($model, 'username')->textInput(['autofocus' => true]) ?>

        <?= $form->field($model, 'password')->passwordInput() ?>

        <?= $form->field($model, 'url')->hiddenInput()->label(''); ?>
        <div class="row">
           <div class="btn-group">
                <!-- <div class="col-md-2">
                </div> -->
                <div class="col-md-6">
                    <?= Html::submitButton('Login', ['class' => 'btn btn-primary pull-left', 'name' => 'login-button','style'=>'font-size: 15px;']) ?>
                </div>

获取数据并将其设置为会话变量

代码语言:javascript
复制
if (Yii::$app->request->post()) {
                $companyname = Yii::$app->request->post('compayname');

}

我想将POST中的companyname设置为会话变量

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-26 21:30:03

你能做的是

代码语言:javascript
复制
foreach (Yii::$app->request->post('LoginForm') as $field) {
// some logic
}

我还发现compayname中有一个错误。这个词中缺少"n“。但是你可以通过Yii::$app->request->post('LoginForm')['compayname'];访问它的值

票数 1
EN

Stack Overflow用户

发布于 2019-07-27 11:32:25

你很快就会得到这个。

代码语言:javascript
复制
$arr = [];
foreach ($_POST as $param) {
    if (is_array($param)) {
        foreach ($param as $name) {
            if ($name == 'LoginForm') {
                array_push($arr, $name);
            }
        }
    } else {
    }
}

您还可以使用var_dump确定数据的结构

代码语言:javascript
复制
var_dump($arr);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57220508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档