如何选择选项并发布到会话中

时间:2018-05-08 07:07:07

标签: php sql session-variables

我需要根据select选项的输入显示内容。该选项在会话中被写入,但它总是给出选择的最后一个值 希望有人可以帮助我 第一页;

<form class="form-horizontal" action="postchange.php" method="POST">
        <fieldset>
        <div class="form-group">
            <label class="col-md-4 control-label" for="Naam">Naam</label>  
                <div class="col-md-4">
                    <select id="gebruiker" name="gebruiker" placheholder="kies een gebruiker" class="form-control" required>
                        <?php

                                $conn = dbconnect();
                        // selecteer alle users waar stats == 0 en sorteert deze oplopend op ID
                                $query = "SELECT * FROM users WHERE Status LIKE 0 ORDER BY id DESC"; 
                                $result = mysqli_query($conn, $query);
                            while($row1 = mysqli_fetch_array($result)):;

                        ?>
                    <option>
                        <?php
                        // Geeft het ID, voornaam + achternaam weer
                        echo "$row1[0] $row1[2] $row1[3]";
                        $test=$row1[0];
                        endwhile;
                        ?>
                    </option>
                    </select>

              </div>

        </div>
                    <div class="form-group">
              <label class="col-md-4 control-label" for="singlebutton"></label>
                  <div class="col-md-4">
                      <button id="volgende" name="volgende" class="btn btn-success">volgende</button>
                  </div>
        </div>
        </fieldset>
    </form>       
                            <?php 
                        $_SESSION['gebruiker']=$test;
                    ?> 

第2页(postchange.php):
会话确实在这里回复了一些值,但没有选中。如前所述,它总是给出select选项的最后一个值。

<form class="form-horizontal" action="#" method="post">
            <fieldset>              
<div class="form-group">
              <label class="col-md-4 control-label" for="soort">Configuratie item</label>
              <div class="col-md-4">
                        <select id="gebruiker" name="gebruiker" placheholder="kies een gebruiker" class="form-control" required>
                            <?php

                                    $conn = dbconnect();
                                    $query = "SELECT * FROM config WHERE gebruiker='".$_SESSION['gebruiker']."';"; 
                                    $result = mysqli_query($conn, $query);
                                while($row1 = mysqli_fetch_array($result)):;
                            ?>
                        <option>
                            <?php
                            echo "$row1[0] $row1[2] $row1[3]";?>
                        </option>
                            <?php 
                                endwhile;
                            ?>
                        </select>
              </div>
            </div>

            </fieldset>
        </form>
<?php 
                                    var_dump($gebruiker, $aanvraag, $_SESSION['userid']);

        ?>

1 个答案:

答案 0 :(得分:1)

只需替换

$query = "SELECT * FROM config WHERE gebruiker='".$_SESSION['gebruiker']."';";

用,

$query = "SELECT * FROM config WHERE gebruiker='".$_POST['gebruiker']."'";

这应该有用,因为它从选项中发送所选项目。

只是一个小样本:

<form action="" method="POST">
    <select name="bac">
        <option name="1">1</option>
        <option name="2">2</option>
        <option name="3">3</option>
        <option name="4">4</option>
        <option name="5">5</option>
        <option name="6">6</option>
    </select>
    <input type="submit" />
</form>

<?php
    if(isset($_POST['bac']))
        echo $_POST['bac'];
?>

另外,从第一个文件

中删除以下行
<?php 
   $_SESSION['gebruiker']=$test;
?> 

<强>更新

替换:

while($row1 = mysqli_fetch_array($result)):;

with:

$row1 = mysqli_fetch_array($result);

并删除,

<?php 
    endwhile;
?>

以上代码更改将获取单行一次。