2013-08-22 2 views
0

Page1.php имеет переменную «флаг» со значением = 1. При нажатии на него вызывается функция javascript «ajaxreq()», и ниже появляется текст «Click me» (запрос ajax из page2.php).Настройка переменной SESSION в PHP

При нажатии на появившееся «click me» оно вызывает «ajaxreq2 (3)» и отображает текстовое сообщение «success». При нажатии на отображаемое текстовое сообщение «success» отображается содержимое div (id: displayLater), которое было скрыто до сих пор. Этот div должен содержать обновленное значение $ _SESSION ['tag'] в переменной $ flag. Как я могу его обновить?

В этом коде выдается ошибка: «неопределенный индексный тег» в page1.php ».

Чтобы использовать переменную $ _SESSION ['tag'], я должен перезагружать page1.php каждый раз. В противном случае он остается неинициализированным. Есть ли возможность использовать обновленную переменную в page1.php?

page1.php

<?php 
session_start(); 
$flag=1; 
echo "<span onclick='ajaxreq()'>$flag</span>"; 
?> 

<div id="page2contents"></div> 

<div id="displayLater" style="display:none"> 
    <span>This is done.</span> 
    <?php 
    if(isset($_SESSION['tag'])) 
    $flag=$_SESSION['tag']; 
    ?> 
    <span onclick="displayNow($flag)">$flag</span> 
</div> 

page2.php

<?php 
echo "<div onclick='ajaxreq2(3)'>Click me</div>"; 
?> 
<div id="page3contents.php"></div> 

page3.php

<?php 
session_start(); 
$tag=$_POST['tagger']; 
$_SESSION['tag']=$tag; 
echo "<span onclick='displayNow($tag)'>success</span>"; 
?> 

функции JavaScript заключаются в следующем:

function ajaxreq() 
{ 
    $("#page2contents").load("page2.php"); 
} 

function ajaxreq2(x) 
{ 
    $("#page3contents").load("page3.php",{tagger:x}); 
} 

function displayNow(abc) 
{ 
    abc=abc+2; //some operation on abc 
    $("#somethingToDisplay").show(); //displaying something else 
} 
+0

Что вы хотите сказать? Является ли сообщение об ошибке непонятным для вас? – hakre

+0

Сообщение мне понятно. Мне нужна тренировка к проблеме. – kamal0808

+0

хорошо, если сообщение будет ясным для вас, обходной путь был бы очевидным, я бы сказал. Поэтому позвольте мне спросить: что вам тяжело написать обходной путь? Куда вы попадете в блокпост? – hakre

ответ

0

Как насчет

echo "<span onclick='displayNow('".$_SESSION['tag']."')'>success</span>"; 

А потом

function displayNow(tag) 
{ 
    $("#displayLater span").html(tag); 
} 
+0

Это правильно, но, видимо, я узнал, что мне нужно что-то еще в коде. Я обновил код в соответствии с требованиями. Я был бы признателен, если бы вы снова посмотрели на него. – kamal0808

0
$("#page3contents").load("page3.php",{tagger:x}); 

Пошлет переменные POST метод. Таким образом, вам нужно будет изменить строку на стр. 3.php по адресу:

$tag=$_POST['tagger']; 
+0

Извините, я неправильно напечатал эту строку. Изменили его. Но главная проблема заключается в инициализации на $ _SESSION ['tag']. Пожалуйста, помогите с этим. – kamal0808

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