Работа с массивом $_SESSION

202
23 июня 2018, 00:30

Можно ли использовать инструкцию echo внутри массива $_SESSION? Нужно, чтобы каждый элемент массива имел уникальное имя.

$result = mysqli_query($connection, "SELECT * FROM `players` WHERE `fio` LIKE '%$query%' ");
                if (mysqli_num_rows ($result) > 0) {
  while ($row = mysqli_fetch_assoc($result)) {
    ?>
     <img src="players_photo/<?php echo $row['player_photo'] ?> " align="left" width="100"; style="margin-right: 10px; margin-bottom: 10px">
            <span style="font-weight: bold;">
                <?php
    echo '<br>'.$row['fio'];
    $_SESSION['player_id'] = $row['id'];
    ?>
     <br clear="left">
    </span>
   <form action="#" method="POST">
    <button type="submit" name="query_button1" class="b2">Добавить</button>
</form>
  <?php
}
  }   

Обработчик кнопки.

if( isset($_POST['query_button1']) ){
    $errors = array();
    $login = $_SESSION['id'];
    $id= $_SESSION['player_id'];

$result2 = mysqli_query($connection, "SELECT * FROM subscription_players WHERE user_id ='$login' AND player_id = '$id' ");
    $myrow = mysqli_fetch_array($result2);
    if (!empty($myrow['id'])) {
        $errors[]= 'Введённая вами категория уже добавлена.';
    }
        else{
    $result = mysqli_query ($connection, "INSERT INTO subscription_players (user_id, player_id) VALUES('$login','$id')");
}
}
Answer 1
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
        <img src="players_photo/<?php echo $row['player_photo'] ?> " align="left" width="100"; style="margin-right: 10px; margin-bottom: 10px">
        <span style="font-weight: bold;">
            <?php
            echo '<br>' . $row['fio'];
            $_SESSION['player_id'] = $row['id'];
            ?>
            <br clear="left">
        </span>
        <form action="#" method="POST">
            <button type="submit" name="query_button1" class="b2">Добавить</button>
        </form>
        <?php
    }
}

заменяем на:

if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
        <img src="players_photo/<?php echo $row['player_photo'] ?> " align="left" width="100"; style="margin-right: 10px; margin-bottom: 10px">
        <span style="font-weight: bold;">
            <?php
            echo '<br>' . $row['fio'];
            ?>
            <br clear="left">
        </span>
        <form action="#" method="POST">
            <input name="player_id" type="hidden" value="<?php echo $row['id']; ?>">
            <button type="submit" name="query_button1" class="b2">Добавить</button>
        </form>
        <?php
    }
}

в обработчике:

if( isset($_POST['query_button1']) ){
    $errors = array();
    $login = $_SESSION['id'];
    $id= $_SESSION['player_id'];

заменяем на:

if( isset($_POST['query_button1']) ){
    $errors = array();
    $login = $_SESSION['id'];
    if (filter_var($_POST['player_id'], FILTER_VALIDATE_INT) !== false) {
        $id = $_POST['player_id'];
    }else{
        // Ошибка
    }
READ ALSO
Не работает Functions.php дочерней темы

Не работает Functions.php дочерней темы

Создаю сайт на wordpress, тема onepressСоздал дочернюю тему

202
Как лучше написать регистрацию на PHP?

Как лучше написать регистрацию на PHP?

Написал код регистрацииНо я не уверен, что он правильный, хотя он и работает

207
Скачать файл с помощью QNetworkAccessManager

Скачать файл с помощью QNetworkAccessManager

Почему не скачивает по ftp ссылкам?

230