как передать ярлык в POST - PullRequest
0 голосов
/ 30 марта 2019

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

// это то, как я создаю первый ярлык

<?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 Ответ

0 голосов
/ 30 марта 2019

Внутри вы должны повторить $ _SESSION.
И вам не нужно включать страницу, где вы создали сеанс.
И проверьте, есть ли у вас session_start() в верхней части каждой страницы, где вы хотите использовать сеансы.Также на странице, где у вас есть <label>
И также я предлагаю вам создать сеанс для результатов.Как $_SESSION['Result'];
И $_SESSION['Result'] основан на результате матча.Вот так

if ($score1 > $score2){
     $team1 = $_SESSION['t_team1'];
     $_SESSION['Result'] = $team1;
     header('Location: to_your_result_page);
}
else if($score2 > $score1) {
     $team2 = $_SESSION['t_team2'];
     $_SESSION['Result'] = $team2;
     header('Location: to_your_resultpage);
}


И внутри страницы с результатами:

<label name="round2-team1" class="round2-teams">
     <?php echo $_SESSION['Result'] ?>
</label>

...