Php 刷新页面时未加载选择下拉列表项

Php 刷新页面时未加载选择下拉列表项,php,html,mysql,session,Php,Html,Mysql,Session,所以我用这个代码填充一个下拉列表: <select id="sel" name="char"> <?php $s = $mysqli->query("SELECT * FROM `characters` WHERE `accountid`='" . $_SESSION['id'] . "' ORDER BY `id` ASC") or die($mysqli->error); while ($c = $s->fetch_array(

所以我用这个代码填充一个下拉列表:

<select id="sel" name="char">
  <?php
    $s = $mysqli->query("SELECT * FROM `characters` WHERE `accountid`='" . $_SESSION['id'] . "' ORDER BY `id` ASC") or die($mysqli->error);
        while ($c = $s->fetch_array()) {
            echo '<option value="' . $c['id'] . '">' . $c['name'] . '</option>';
        }
  ?>
</select>


如果它第一次工作,然后在后续刷新时失败,您应该检查会话['id']
是否以任何方式得到更改。执行
var\u转储($\u会话)在本页开头,查看它是否符合您的期望。谢谢!这有帮助!因此,当我刷新页面时,$_session['id']似乎被赋予了一个新值。这很奇怪,因为我很确定我从来没有故意给它赋值。编辑:进一步检查后,我发现如果我不提交表单并刷新数据,则数据会保留在那里,但如果我提交表单(使用ajax,因此页面不会刷新),然后在收到回复后手动刷新页面,则下拉列表将显示为空。请将代码显示在存储位置:$\u SESSION['id'
if($cpA)['password']==sha1($cpP)|$cpA['password']==hash('sha512',$cpP.$cpA['salt']){$sanitizename=sql_sanitize($cpA['name']);$sanitizepass=sql_sanitize($cpA['password']);$selectQ=$mysqli->查询(“从帐户中选择*,其中name=''.$sanitizename.'和password='$sanitizepass或dizepass死亡($mysqli->错误)$selectF=$selectQ->fetch_array();
***$_SESSION['id']=$selectF['id'];***`$_SESSION['name']=$selectF['name']`