发布带有可变内容的php表单

时间:2014-10-01 12:58:15

标签: php html forms

我有以下代码。这是一个创建包含下拉菜单和选择框的函数的函数,并且从另一个页面调用。)

<?php
require_once 'forbindtilDB.php';

    function populerDropdownsOpretProgram()
    {
        global $mysqliOOP;
        $stmt = $mysqliOOP->prepare("SELECT DISTINCT primaer FROM oevelser ORDER BY primaer ASC");
       ?>
<form action="temp.php" method="post">
    <select multiple> 
    <option value="0">Vælg ønskede øvelse(r)</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($primaereMuskelgruppe);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $primaereMuskelgruppe;?>" >
                <?php echo $primaereMuskelgruppe;
                ?>
            </option>
            <?php
            }  
            $stmt->close();
            ?>              
    </select>
    <?php 
    $stmt = $mysqliOOP->prepare("SELECT antalreps FROM antalreps ORDER BY antalreps ASC");
    ?>
    <select> 
    <option value="0">Vælg ønskede antal gentagelser</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($antalreps);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $antalreps;?>" >
                <?php echo $antalreps;
                ?>
            </option>
            <?php
            }  
            $stmt->close();
        ?>      
    </select>
    <input type="submit">
    </form>
<?php       
}

我想在不同的页面上发布用户输入(当前是temp.php),但我不知道如何处理表单内容是mysqli调用获取的变量这一事实。

到目前为止,我已经在temp.php页面上尝试了以下不同版本的

<?php
        echo $_POST[$antalreps];
    ?>
    <?php
        echo $_POST[$primaereMuskelgruppe];
    ?>

但是我收到错误声明存在未定义的变量(antalreps和primaeremuskelgruppe)和未定义的索引......

此外,选择框可能会返回多个结果,这会增加复杂性。

很确定echo $ _POST [$ antalreps];等等是错误的方法,但我还没有找到替代方案......

任何提示?

1 个答案:

答案 0 :(得分:1)

你应该添加&#39; name&#39;选择然后使用它。

例如,而不是:

<select> 

你应该:

<select name="yourname">

然后在php中显示其值使用:

echo $_POST['yourname'];

并且对于选择倍数,您可以使用:

<select name="othername[]">

然后在PHP中使用它作为数组:

foreach ($_POST['othername'] as $item) {
   echo $item;
}

当然我放yournameothername的位置你应该为彩色框和类似的colours添加描述性名称