Не знаете, как правильно использовать сеансы? Для PHP и MySQL

#php #mysql #session

#php #mysql #сессия

Вопрос:

Я довольно смущен тем, как работают сеансы. Я использую функции GET и использую сеансы, однако кажется, что я застрял. Мое возвращаемое значение не изменится, даже если я нажму на другой отдел.

 <?php
session_start();
while ($row = mysqli_fetch_assoc($select_submission_result)) {
    $adopt_id = $row['a_id'];
    $promote_id = $row['p_id'];

    $adopt_dept = $row['a_department'];
    $promote_dept = $row['p_department'];

    echo "<tr>";
    echo "<td>";
    echo $i  ;
    echo "</td>";

    echo "<td>";
    echo "<a href ='ideaSubmission.php?a_id = $adopt_id' style='color:     black; text-decoration: none;'>" . $row['a_title'] . "</a>";
    echo "</td>";
    echo "<td>";
    echo "<a href ='viewDepartment.php?a_department = $adopt_dept' style='color: black; text-decoration: none;'>" . $row['a_department'] . "</a>";
    echo "</td>";

    echo "<td>";
    echo "<a href ='ideaSubmission.php?p_id = $promote_id' style='color: black; text-decoration: none;'>" . $row['p_title'] . "</a>";
    echo "</td>";

    echo "<td>";
    echo "<a href ='viewDepartment.php?p_department = $promote_dept' style='color: black; text-decoration: none;'>" . $row['p_department'] . "</a>";
    echo "</td>";

    echo "</tr>";
}

$_SESSION['a_department'] = $_GET[$adopt_dept];
?>
  

Я нажимаю на гиперссылку, которая ведет наviewDepartment.php , и другая страница, на которую он будет перенаправлять, это:

 <?php
session_start();

if (isset($_GET['a_department'])) {
$adopt_dept = $_GET['a_department'];
} else {`enter code here`
echo"not working";
 }
?>
<?php echo "$adopt_dept"; ?>
  

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

1. погуглите это …. это не обучающий сайт

Ответ №1:

Вы должны проверять сеанс, а не get:

 <?php
session_start();
$adopt_dept = '';
if (isset($_SESSION['a_department'])) {
   $adopt_dept = $_SESSION['a_department'];
 } else {
   echo"not working";
 }
?>
<?php echo $adopt_dept ?>
  

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

1. Возможно, из-за незначительных ошибок: (а) если session var не существует, в последней строке появится уведомление, (б) в предложениях if и else нет отступов, (в) кавычки вокруг переменной в последней строке не нужны. Я только что исправил синтаксическую ошибку. Не серьезные проблемы, но здорово, если вы можете отредактировать их, чтобы исправить!