как передать метку в POST

#php #variables #session #post

#php #переменные #сессия #Публикация

Вопрос:

В настоящее время я заполняю метку переменной сеанса, однако мне нужно использовать данные метки позже (отправить их на другую метку) или создать новый сеанс для этого. Однако, когда я пытаюсь получить доступ к первой метке или сеансу, который я установил, он сообщает мне, что он не установлен. Итак, я предполагаю, что данные в первой метке отображаются, но на самом деле их там нет?

// вот как я создаю первую метку

 <?php

  include_once "dbcon.php";

  //PERFORMING CHECK IF ALL REQUIRED SESSION VARIABLES ARE SET
  if (isset($_SESSION['s_score1'], $_SESSION['s_score2'], $_SESSION['t_team1'], $_SESSION['t_team2'])) {
    $team1 = $_SESSION['t_team1'];
    $team2 = $_SESSION['t_team2'];
    $score1 = $_SESSION['s_score1'];
    $score2 = $_SESSION['s_score2'];

    if ($score1 == $score2) {
      header("Location: tables.php?table=draw"); //CHECKS IF MATCH IS A DRAW, CANNOT BE A DRAW
      exit();
    }else {
      if ($score1 > $score2){
        echo $_SESSION['t_team1'];
      }else {
        echo $_SESSION['t_team2'];

      }
    }
  }else {
  echo "-";
}
?>
  

// вот как я ее печатаю

 <label name="round2-team1" class="round2-teams">
          <?php include_once "action/winner-script.php";?>
        </label>
  

проблема возникает, когда я пытаюсь использовать эту метку выше, создать с ней переменную сеанса или переместить ее на новую метку невозможно, как будто она не существует, хотя я вижу ее на странице???

 <?php

  include_once "dbcon.php";

  //PERFORMING CHECK IF ALL REQUIRED SESSION VARIABLES ARE SET
  if (isset($_SESSION['s_score9'], $_SESSION['s_score10'], $_SESSION['t_team9'], $_SESSION['t_team10'])) {
    $team1 = $_SESSION['t_team9'];
    $team2 = $_SESSION['t_team10'];
    $score1 = $_SESSION['s_score9'];
    $score2 = $_SESSION['s_score10'];

    if ($score1 == $score2) {
      header("Location: tables.php?table=draw"); //CHECKS IF MATCH IS A DRAW, CANNOT BE A DRAW
      exit();
    }else {
      if ($score1 > $score2){
        echo $_SESSION['t_team9'];
      }else {
        echo $_SESSION['t_team10'];

      }
    }
  }else {
  echo "-";
}
?>
  

Это скрипт, здесь я беру свои две метки, которые отображаются на странице, я определяю победителя, а затем я отображаю переменную сеанса, которая выиграла игру, в другой метке на той же странице. однако, когда я пытаюсь использовать

 <?php
  if (isset($_SESSION['t_team9'])) {
 echo $_SESSION['t_team9'];
}else {
  echo "somethings wrong";
}
  ?>
  

в любом месте страницы, где лежат мои метки, я просто получаю сообщение об ошибке «что-то пошло не так»

ПОПЫТКА ИСПРАВЛЕНИЯ:

 <?php

  include_once "dbcon.php";

  //PERFORMING CHECK IF ALL REQUIRED SESSION VARIABLES ARE SET
  if (isset($_SESSION['s_score13'], $_SESSION['s_score14'], $_SESSION['result'], $_SESSION['result2'])) {
    $team1 = $_SESSION['result'];
    $team2 = $_SESSION['result2'];
    $score1 = $_SESSION['s_score13'];
    $score2 = $_SESSION['s_score14'];

    if ($score1 == $score2) {
      header("Location: tables.php?table=draw"); //CHECKS IF MATCH IS A DRAW, CANNOT BE A DRAW
      exit();
    }else {
      if ($score1 > $score2){
        $team1 = $_SESSION['result'];
        $_SESSION['result5'] = $team1;
      }else {
        $team2 = $_SESSION['result2'];
        $_SESSION['result5'] = $team2;

      }
    }
  }else {
  echo "-";
}
?>
  

Комментарии:

1. Вы объявляете session_start() в начале каждой страницы? Если вы этого не сделаете, сеанс будет просто забыт.

2. Да, я почти уверен. Как я уже сказал, я могу видеть сеанс на странице, но когда я пытаюсь использовать его где-то еще, он просто не установлен или что-то в этом роде?

3. если я помещаю ее в начало включенного мной php-скрипта, я получаю сообщение об ошибке, что сеанс уже установлен

4. На round2-team1 метка правильно получает значение сеанса? Ваша проблема в том, что если вы попробуете echo $_SESSION['t_team1'] на другой странице, она не отображается?

5. Да, однако, я пытаюсь отобразить ее на той же странице в другой метке, я просто сначала запускаю ее через скрипт, чтобы определить, следует ли ее отображать. Я могу включить этот скрипт, если это поможет, но он очень похож на тот, который уже включен?