2014-02-13 3 views
0

У меня была эта проблема в течение пары дней, и я пытаюсь по-другому пытаться ее исправить, и я никуда не денусь. В основном я извлекаю данные из базы данных, отображая данные с помощью цикла, добавляя кнопку «удалить» и сохраняя данные в массиве сеансов.переменная сеанса php не обновляется после сообщения

Когда пользователь нажимает кнопку удаления, страница обновляется, но моя переменная сеанса не обновляется. Может ли кто-нибудь сказать мне, почему? Я использую if isset «POST» для обновления моей переменной сеанса. FYI есть много дополнительных эхо-сигналов в моем коде, чтобы я мог видеть, что происходит. Любые предложения будут ценны. Я также добавил всплывающее окно JavaScript, чтобы узнать, работает ли оператор if. Всплывающее окно тоже не подходит.

<?php 
function multilineQ($con, $sql) 
{ 
    $x = 0; // incremented for the ex number 

    if (mysqli_multi_query($con,$sql)) 
     { 
      do 
      { 
      // Store first result set 
       if ($result=mysqli_store_result($con)) 
       { 
        while ($row=mysqli_fetch_assoc($result)) 
        { 
         $button = "ex" . $x . "Button"; 
         echo "<ex id=\"ex$x\">"; 
         echo $row['ExType'] . ' ----- ' . $row['ExName'] . " " . 
           "<input type=\"submit\" 
             name=\"$button\" 
             value=\"Delete\"> " . 
           " - <b>Button Name: </b>" . $button; 
         echo "<br />"; 
         echo "</ex>"; 

         // Add to Array 
         // ---------------------- 
         $_SESSION['exArray'][$x][0] = 1; 
         $_SESSION['exArray'][$x][1] = $row['ExType']; 
         $_SESSION['exArray'][$x][2] = $row['ExName']; 
         // ---------------------- 

         // If delete button pressed... 
         // ---------------------- 
         echo "$button If statement created <br /><br />"; 
         if (isset($_POST['$button'])) 
         { 
          $_SESSION['exArray'][$x][0] = 0; 
          $foo = "Alert: " . $_SESSION['exArray'][$x][3] . " : Deleted."; 
          echo "<script type='text/javascript'>alert('$foo')</script>"; 
         } 
         // ---------------------- 

         $x++; // Increment number 
        } 
        mysqli_free_result($con); 
       } 
      } while (mysqli_next_result($con)); 
     } else 
     { 
      echo 'Could not run SQL...'; 
     } 
} 
?> 
+2

добавить session_start() в верхней части файла .. –

+0

'$ button' в одинарные кавычки. Этот отступ также болезнен для чтения: < – Amelia

+0

Спасибо, я понимаю, что вы говорите. Я удалил кавычки, но это не устранило проблему. –

ответ

0

вам нужно добавить session_start() на первом заявлении.

<?php 
here> session_start(); 
     function multilineQ($con, $sql) 
     { 
+0

Этот файл входит в другой файл с именем session_start вверху. Извините, я включил часть своего кода здесь. –

+0

вам нужно добавить session_start(); здесь, чтобы установить переменную сеанса. – Nambi

+1

Я попытался добавить это, но ничего не изменил. Моя переменная сеанса, похоже, работает. Строки запроса добавляются к переменной без проблем, просто когда я использую кнопку удаления, если она не работает. Благодарим за ваше предложение. –

Смежные вопросы