Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自php数组的Html表单_Php_Arrays_Twitter Bootstrap_Twitter Bootstrap 3 - Fatal编程技术网

来自php数组的Html表单

来自php数组的Html表单,php,arrays,twitter-bootstrap,twitter-bootstrap-3,Php,Arrays,Twitter Bootstrap,Twitter Bootstrap 3,我想显示php数组中的html表单。我希望(名字)输入和(姓氏)输入在一行中。我使用了引导行类,但它将两个输入都放在单独的行中,如 <div class="row">first name </div> <div class="row">Last name </div> 名字 姓 如果有人能帮我解决这个问题,我将不胜感激 <?php $form = array(

我想显示php数组中的html表单。我希望(名字)输入和(姓氏)输入在一行中。我使用了引导行类,但它将两个输入都放在单独的行中,如

        <div class="row">first name </div>
        <div class="row">Last name </div>
名字
姓
如果有人能帮我解决这个问题,我将不胜感激

    <?php

        $form = array(

                    'fname' => array(
                        'title' => 'First Name',
                        'type' => 'text',
                        'size' => '50',
                    ),

                    'lname' => array(
                        'title' => 'Last Name',
                        'type' => 'text',
                        'size' => '50',
                    ),

        'email' => array(
                        'title' => 'Email',
                        'type' => 'email',
                        'class' => 'form-control',
                        'size' => '50',

                    ),
        'submit' => array(
                        'title' => 'Register',
                        'type' => 'submit',
                        'size' => '50',
                        'class' => 'form-control',

                    ),
        )

           ?>

        <form action="" method="post">
    <?php

        foreach ($contact_form as $name => $elements) {

            $label = '<label>' . $elements['title'] . '</label><br>';

            if ($elements['type'] == 'text') {

                echo '<div class="row">';
                echo $label . '<input  type="' . $elements['type'] . '" name="' . $name . '"  size="' . $elements['size'] . '" >';
                echo '</div>';

            } elseif ($elements['type'] == 'email') {
                echo '<div class="row">';
                echo $label . '<input type="' . $elements['type'] . '" name="' . $name . '"   size="' . $elements['size'] . '">' . form_error($name) . '<br>';
                echo '</div>';

            }else{

                echo '<input type="' . $elements['type'] . '" name="' . $name . '" value="' . $elements['title'] . '"  size="' . $elements['size'] . '">'  ;
            }
        }
    ?>
</form>

更新PHP数组以使用引导调整大小而不是百分比。我还做了一些其他的调整

$form = [
    [
        'title' => 'First Name',
        'name' => 'first_name',
        'type' => 'text',
        'cols' => '6',
    ],
    [
        'title' => 'Last Name',
        'name' => 'last_name',
        'type' => 'text',
        'cols' => '6',
    ],
    [
        'title' => 'Email',
        'name' => 'email',
        'type' => 'email',
        'cols' => '6',
    ],
    [
        'title' => 'Register',
        'type' => 'submit',
        'cols' => '6',
    ],
]
然后可以使用该数据创建带有foreach循环的表单

<div class="container">
  <form class="form-horizontal">

    <?php foreach ($form as $element): ?>

      <div class="col-sm-<?= $element['cols'] ?>">

        <?php if ($element['type'] == 'submit): ?>

          <button type="submit" class="btn btn-default"><?= $element['title'] ?></button>

        <?php else: ?>

          <div class="form-group">
            <label for="<?= $element['name'] ?>" class="col-sm-4 control-label"><?= $element['title'] ?></label>
            <div class="col-sm-8">
              <input type="<?= $element['type'] ?>" class="form-control" id="<?= $element['name'] ?>" name="<?= $element['name'] ?>">
            </div>
          </div>

        <?php endif; ?>

      </div>

    <?php endforeach; ?>

  </form>
</div>  


更新PHP数组以使用引导调整大小而不是百分比。我还做了一些其他的调整

$form = [
    [
        'title' => 'First Name',
        'name' => 'first_name',
        'type' => 'text',
        'cols' => '6',
    ],
    [
        'title' => 'Last Name',
        'name' => 'last_name',
        'type' => 'text',
        'cols' => '6',
    ],
    [
        'title' => 'Email',
        'name' => 'email',
        'type' => 'email',
        'cols' => '6',
    ],
    [
        'title' => 'Register',
        'type' => 'submit',
        'cols' => '6',
    ],
]
然后可以使用该数据创建带有foreach循环的表单

<div class="container">
  <form class="form-horizontal">

    <?php foreach ($form as $element): ?>

      <div class="col-sm-<?= $element['cols'] ?>">

        <?php if ($element['type'] == 'submit): ?>

          <button type="submit" class="btn btn-default"><?= $element['title'] ?></button>

        <?php else: ?>

          <div class="form-group">
            <label for="<?= $element['name'] ?>" class="col-sm-4 control-label"><?= $element['title'] ?></label>
            <div class="col-sm-8">
              <input type="<?= $element['type'] ?>" class="form-control" id="<?= $element['name'] ?>" name="<?= $element['name'] ?>">
            </div>
          </div>

        <?php endif; ?>

      </div>

    <?php endforeach; ?>

  </form>
</div>  


你可以根据条件来管理

            foreach ($form as $name => $elements) {
            if($name != 'lname'){
            echo '<div class="row">'; 
            }
            // Code here
            if($name != 'lname'){
            echo "</div>"; 
            }
foreach($name=>$elements形式){
如果($name!=“lname”){
回声';
}
//代码在这里
如果($name!=“lname”){
回声“;
}

}您可以根据条件进行管理

            foreach ($form as $name => $elements) {
            if($name != 'lname'){
            echo '<div class="row">'; 
            }
            // Code here
            if($name != 'lname'){
            echo "</div>"; 
            }
foreach($name=>$elements形式){
如果($name!=“lname”){
回声';
}
//代码在这里
如果($name!=“lname”){
回声“;
}

}

“我使用了引导行类,但它将两个输入都放在单独的行中,如“那么,您希望
类做什么?”?您需要使用列我希望两个输入都在一行中,而不是在单独的行中。我刚刚编辑了表单,与我之前说过的结果相同:您需要使用列。阅读文档“我使用了bootstrap row类,但它将两个输入都放在单独的行中”,如“那么您希望
row
类做什么?”?您需要使用列我希望两个输入都在一行中,而不是在单独的行中。我刚刚编辑了表单,与我之前说过的结果相同:您需要使用列。阅读文档你好,史蒂夫!我在没有php foreach循环的情况下尝试过这个方法,效果很好,但是当我使用循环时,它会分成两行。重新编写答案。非常感谢Steve!不客气。如果回答了你的问题,别忘了接受我的回答!你好,史蒂夫!我在没有php foreach循环的情况下尝试过这个方法,效果很好,但是当我使用循环时,它会分成两行。重新编写答案。非常感谢Steve!不客气。如果回答了你的问题,别忘了接受我的回答!