2013-07-03 2 views
0

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

Задачи, которые у меня есть проблемы с:

  1. "Добавить кнопку" - добавить запись/школьный идентификатор сеанса массива - $ _SESSION [ 'школы']
  2. Панель приборов в верхней - эхо $ _SESSION [ «школы») (только для пользователей перечислите школы, которые в данный момент включены в список)
  3. При нажатии кнопки «Добавить» автоматически обновляется список панели мониторинга. Предпочтительно не вся страница.

Моя попытка до сих пор:

Прежде всего я имею я прокомментировал PHP действие формы:

<?php session_start();  
    $schools = array('post_id'); 

    //If form not submitted, display form. 
    if (!isset($_POST['submit_school'])){ 

    //If form submitted, process input. 
    } else { 
     //Retrieve established school array. 
     $schools=($_POST['school']); 
     //Convert user input string into an array. 
     $added=explode(',',$_POST['added']); 

     //Add to the established array. 
     array_splice($schools, count($schools), 0, $added); 
     //This could also be written $schools=array_merge($schools, $added); 

    } 

    $_SESSION['schools'] = $schools; 
?> 

Далее это форма сама по себе:

<form method="post" action="http://henrijeret.ee/7788/temp_add_button.php" id="add_school"> 
    <input type="hidden" name="added" value="Value" size="80" /> 
    <?php 
     //Send current school array as hidden form data. 
     foreach ($schools as $s){ 
      echo "<input type=\"hidden\" name=\"school[]\" value=\"$s\" />\n"; 
     } 
    ?> 
    <input type="submit" name="submit_school" value="Lisa võrdlusesse" /> 
</form> 

И для приборная панель Я использую:

<?php 


    foreach($_SESSION['schools'] as $key => $value){ 
     // and print out the values 
     echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />'; 
    } 
?> 

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

Проблемы Что-то не чувствует себя хорошо ..: P

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

Я очень appriciate совет по этой длинной теме .. Maby я не знаю, где искать, но я немного застрял с поиском решения ..

Ссылка на мой беговой код http://henrijeret.ee/7788/

ответ

0

вы отправляете форму на первом запуске .. если вы будете проверять его изменения URL и при следующем запуске .. так как вы получили это

//If form not submitted, display form. 
    if (!isset($_POST['submit_school'])){ 

    //If form submitted, process input. 
    } else { 
     //Retrieve established school array. 
     $schools=($_POST['school']); 
     //Convert user input string into an array. 
     $added=explode(',',$_POST['added']); 

     //Add to the established array. 
     array_splice($schools, count($schools), 0, $added); 
     //This could also be written $schools=array_merge($schools, $added); 

    } 

он пойдет в else, потому что POST является alr eady set.

Попробуйте это:

//If form not submitted, display form. 
    if (!isset($_POST['submit_school'])){ 

    //If form submitted, process input. 
    } else { 
     //Retrieve established school array. 
     $schools=($_POST['school']); 
     //Convert user input string into an array. 
     $added=explode(',',$_POST['added']); 

     //Add to the established array. 
     array_splice($schools, count($schools), 0, $added); 
     //This could also be written $schools=array_merge($schools, $added); 

     $_SESSION['schools'] = $schools; 

    } 
+0

будет изменить позже. моя смена заканчивается здесь @ work: D –

+0

Он по-прежнему ведет себя одинаково - http://henrijeret.ee/7788/. Могу ли я каким-то образом предотвратить его изменение URL-адреса? Я не заметил, что ... Похоже, это может быть проблема здесь ... Но я не знаю, какое решение будет ... Maby какой-нибудь материал jQuery/ajax будет работать? На первый взгляд я не нашел правильного решения с jQuery .. –

+0

, если вы хотите остановить свою форму при отправке, вы можете добавить что-то вроде этого в свой скрипт '$ ('input [type =" submit "]'). Click (function() { $ ("# add_school"). submit (function() {return false;})}); ' –

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