代码之家  ›  专栏  ›  技术社区  ›  Outnedwaste

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

  •  2
  • Outnedwaste  · 技术社区  · 8 年前

    我需要根据选择选项的输入显示一些内容。该选项在会话中被删除,但它总是给出选项的最后一个值。
    希望有人能帮我。
    首页;

    <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):
    会话会在此处回显一些值,但不会回显选定的值。如前所述,它总是给出选择选项的最后一个值。

    <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 回复  |  直到 8 年前
        1
  •  1
  •   Nirav Madariya    8 年前

    只需更换线路

    $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)):;
    

    使用:

    $row1 = mysqli_fetch_array($result);
    

    并删除,

    <?php 
        endwhile;
    ?>
    

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

    推荐文章