选择框使用设置会话回显空白

问题描述 投票:1回答:1
          <select name="score-1" class="score-1">
            <?php
              if(isset($_SESSION['s_score1'])){ //echoes currently set team
              echo $_SESSION['s_score1'];
              }else {
                echo "<option>0</option>
                      <option>1</option>
                      <option>2</option>
                      <option>3</option>
                      <option>4</option>";
              }
            ?>
          </select>


<?php //SETTING SESSION VARIABLES FOR ROUND 1 TEAMS AND SCORE

session_start();

  if (isset($_POST['go1'])) {

    include_once 'dbcon.php';

    $_SESSION['t_team1'] = $_POST['team-1'];
    $_SESSION['t_team2'] = $_POST['team-2'];
    $_SESSION['s_score1'] = $_POST['score-1'];
    $_SESSION['s_score2'] = $_POST['score-2'];
    header("Location: ../tables.php?tables=winner");
}
?>

它基本上用一个空格填充选择框,而不是当前的会话变量我似乎无法找到问题

php html session isset
1个回答
0
投票

您有条件地打印选项。您应始终打印选项,并将正确的选项标记为“已选择”。

<select name="score-1" class="score-1">
            <?php
                 $val = isset($_SESSION['s_score1']) ? $_SESSION['s_score1'] : false;
                 foreach(range(0,4) as $n) {
                   $selected = $n === $val ? 'selected' : ''; 
                   echo '<option ' .$selected . '>'.$n.'</option>';
                 }
            ?>
          </select>
© www.soinside.com 2019 - 2024. All rights reserved.