如何将 select 选项和 post 放入会话
How to select option and post into session
我需要根据 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):
会话确实在此处回显了一些值,但没有回显 selected。如前所述,它总是给出 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']);
?>
只需替换行
$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;
?>
以上代码更改将获取单行一次。
我需要根据 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):
会话确实在此处回显了一些值,但没有回显 selected。如前所述,它总是给出 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']);
?>
只需替换行
$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;
?>
以上代码更改将获取单行一次。