Не магу бачыць мой спіс сеансаў масіва пасля перазагрузкі старонкі

У мяне ёсць запыт масіва і AJAX ў PHP сесіі, каб дадаць атрыманыя дадзеныя ў DIV з дапамогай Java Script. Усё працуе выдатна, за выключэннем, калі я абнавіць старонку дадзеных знікае, пакуль я не дадаць наступны пункт ўсе паказвае зноў. Як я магу вырашыць гэтую праблему?

файл 1 (test.php):

<?php
session_start();
?>

<!DOCTYPE HTML>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
var myname = document.getElementById("firstname").value;
if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
    }
else
    {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
xmlhttp.open("POST", "test2.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("firstname="+myname);
}
</script>

</head>

<body>

Enter Your Name

<input id="firstname"> 
<button type="button" onclick="loadXMLDoc()"> Add Item </button>
<div  id="myDiv"></div>

</body>
</html>

файл 2 (test2.php):

<?php

session_start();

$myitems = array();
if (!isset($_SESSION['item'])) $_SESSION['item']=$myitems;
if (isset($_POST['firstname']) && !empty($_POST['firstname'])) {
    $data = $_POST['firstname'];
    $_SESSION['item'][] = $data;
}

//echo '
';
//print_r($_SESSION);
//echo '
';

foreach ($_SESSION['item'] as $key=>$value){
echo "

"$ Значэнне."

";
}
?>
2
Ну па крайняй меры ў мяне няма якой-небудзь звышздольнасцямі, каб вырашыць пытанне да таго часу, пакуль вы не падасце код
дададзена аўтар Mr. Alien, крыніца
Ну па крайняй меры ў мяне няма якой-небудзь звышздольнасцямі, каб вырашыць пытанне да таго часу, пакуль вы не падасце код
дададзена аўтар Mr. Alien, крыніца
У вас ёсць session_start() ў пачатку кожнай старонкі вам трэба масіў сеансу на?
дададзена аўтар Till Helge, крыніца
У вас ёсць session_start() ў пачатку кожнай старонкі вам трэба масіў сеансу на?
дададзена аўтар Till Helge, крыніца
Людзі маюць мудрасць тут, яны не чараўніком. Прыходзьце на чалавеку, падзяліцеся кодам і апісаць вашу праблему дакладна.
дададзена аўтар MD. Sahib Bin Mahboob, крыніца
Людзі маюць мудрасць тут, яны не чараўніком. Прыходзьце на чалавеку, падзяліцеся кодам і апісаць вашу праблему дакладна.
дададзена аўтар MD. Sahib Bin Mahboob, крыніца
Людзі маюць мудрасць тут, яны не чараўніком. Прыходзьце на чалавеку, падзяліцеся кодам і апісаць вашу праблему дакладна.
дададзена аўтар MD. Sahib Bin Mahboob, крыніца
проста дадалі код глядзіце, калі вы можаце дапамагчы. Існуе session_start() у пачатку старонкі
дададзена аўтар user2404696, крыніца
проста дадалі код глядзіце, калі вы можаце дапамагчы. Існуе session_start() у пачатку старонкі
дададзена аўтар user2404696, крыніца
проста дадалі код глядзіце, калі вы можаце дапамагчы. Існуе session_start() у пачатку старонкі
дададзена аўтар user2404696, крыніца
проста дадалі код глядзіце, калі вы можаце дапамагчы. Існуе session_start() у пачатку старонкі
дададзена аўтар user2404696, крыніца

7 адказы

<�Р> Усё працуе выдатна, за выключэннем, калі я абнавіць старонку дадзеных знікае, пакуль я не дадаць наступны пункт ўсе паказвае зноў. </Р>

А чаму вы чакалі іншага паводзін? Нават калі вы, магчыма, ужо <�ет> Папрасіць У вашай сесіі - вы не Выснова іх дзе-небудзь у вашым test.php, так як вы чакаеце ўбачыць іх там?

Дадайце код у гэты файл, які перабірае элементы ў сесіі і вывадзе HTML код, які вы хочаце ўнутры спраў.


Btw., Гэта зусім лішняе,

$myitems = array();
if (!isset($_SESSION['item'])) $_SESSION['item']=$myitems;

калі запушчаны сеанс, $ _SESSION масіў ўжо. І PHP не хвалюе, калі вы ініцыялізаваць «пад-масіваў», перш чым прысвойваць ім значэння. Такім чынам, нават з зусім пусты сэсіяй,

$_SESSION['item'][] = $data;

без якой-небудзь дадатковай ініцыялізацыі $ _ SESSION [ «пункт»] будзе выдатна працаваць без якіх-небудзь скаргаў з боку PHP.

0
дададзена
<�Р> Усё працуе выдатна, за выключэннем, калі я абнавіць старонку дадзеных знікае, пакуль я не дадаць наступны пункт ўсе паказвае зноў. </Р>

А чаму вы чакалі іншага паводзін? Нават калі вы, магчыма, ужо <�ет> Папрасіць У вашай сесіі - вы не Выснова іх дзе-небудзь у вашым test.php, так як вы чакаеце ўбачыць іх там?

Дадайце код у гэты файл, які перабірае элементы ў сесіі і вывадзе HTML код, які вы хочаце ўнутры спраў.


Btw., Гэта зусім лішняе,

$myitems = array();
if (!isset($_SESSION['item'])) $_SESSION['item']=$myitems;

калі запушчаны сеанс, $ _SESSION масіў ўжо. І PHP не хвалюе, калі вы ініцыялізаваць «пад-масіваў», перш чым прысвойваць ім значэння. Такім чынам, нават з зусім пусты сэсіяй,

$_SESSION['item'][] = $data;

без якой-небудзь дадатковай ініцыялізацыі $ _ SESSION [ «пункт»] будзе выдатна працаваць без якіх-небудзь скаргаў з боку PHP.

0
дададзена
<�Р> Усё працуе выдатна, за выключэннем, калі я абнавіць старонку дадзеных знікае, пакуль я не дадаць наступны пункт ўсе паказвае зноў. </Р>

А чаму вы чакалі іншага паводзін? Нават калі вы, магчыма, ужо <�ет> Папрасіць У вашай сесіі - вы не Выснова іх дзе-небудзь у вашым test.php, так як вы чакаеце ўбачыць іх там?

Дадайце код у гэты файл, які перабірае элементы ў сесіі і вывадзе HTML код, які вы хочаце ўнутры спраў.


Btw., Гэта зусім лішняе,

$myitems = array();
if (!isset($_SESSION['item'])) $_SESSION['item']=$myitems;

калі запушчаны сеанс, $ _SESSION масіў ўжо. І PHP не хвалюе, калі вы ініцыялізаваць «пад-масіваў», перш чым прысвойваць ім значэння. Такім чынам, нават з зусім пусты сэсіяй,

$_SESSION['item'][] = $data;

без якой-небудзь дадатковай ініцыялізацыі $ _ SESSION [ «пункт»] будзе выдатна працаваць без якіх-небудзь скаргаў з боку PHP.

0
дададзена
<�Р> Усё працуе выдатна, за выключэннем, калі я абнавіць старонку дадзеных знікае, пакуль я не дадаць наступны пункт ўсе паказвае зноў. </Р>

А чаму вы чакалі іншага паводзін? Нават калі вы, магчыма, ужо <�ет> Папрасіць У вашай сесіі - вы не Выснова іх дзе-небудзь у вашым test.php, так як вы чакаеце ўбачыць іх там?

Дадайце код у гэты файл, які перабірае элементы ў сесіі і вывадзе HTML код, які вы хочаце ўнутры спраў.


Btw., Гэта зусім лішняе,

$myitems = array();
if (!isset($_SESSION['item'])) $_SESSION['item']=$myitems;

калі запушчаны сеанс, $ _SESSION масіў ўжо. І PHP не хвалюе, калі вы ініцыялізаваць «пад-масіваў», перш чым прысвойваць ім значэння. Такім чынам, нават з зусім пусты сэсіяй,

$_SESSION['item'][] = $data;

без якой-небудзь дадатковай ініцыялізацыі $ _ SESSION [ «пункт»] будзе выдатна працаваць без якіх-небудзь скаргаў з боку PHP.

0
дададзена

Зменіце старонкі test1.php .. Пры абнаўленні то страціце прыкладаемая дадзеныя да элемента DIV. Гэта, як чакаецца.

<!DOCTYPE HTML>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
var myname = document.getElementById("firstname").value;
if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
    }
else
    {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
xmlhttp.open("POST", "test2.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("firstname="+myname);
}
</script>

</head>

<body>

Enter Your Name

<input id="firstname"> 
<button type="button" onclick="loadXMLDoc()"> Add Item </button>
<div  id="myDiv">
<?php 
if(isset($_SESSION['item'])){
echo "
";
print_r($_SESSION['item']);
echo "
";
}
?>
</div>

</body>
</html>
0
дададзена
@ User2404696 спадзяюся, вы зразумелі, што пайшло не так з вашым кодам і логікай :)
дададзена аўтар shanavascet, крыніца
дзякуючы shanavascet гэта сапраўды працуе.
дададзена аўтар user2404696, крыніца

Зменіце старонкі test1.php .. Пры абнаўленні то страціце прыкладаемая дадзеныя да элемента DIV. Гэта, як чакаецца.

<!DOCTYPE HTML>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
var myname = document.getElementById("firstname").value;
if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
    }
else
    {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
xmlhttp.open("POST", "test2.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("firstname="+myname);
}
</script>

</head>

<body>

Enter Your Name

<input id="firstname"> 
<button type="button" onclick="loadXMLDoc()"> Add Item </button>
<div  id="myDiv">
<?php 
if(isset($_SESSION['item'])){
echo "
";
print_r($_SESSION['item']);
echo "
";
}
?>
</div>

</body>
</html>
0
дададзена
@ User2404696 спадзяюся, вы зразумелі, што пайшло не так з вашым кодам і логікай :)
дададзена аўтар shanavascet, крыніца
дзякуючы shanavascet гэта сапраўды працуе.
дададзена аўтар user2404696, крыніца

Зменіце старонкі test1.php .. Пры абнаўленні то страціце прыкладаемая дадзеныя да элемента DIV. Гэта, як чакаецца.

<!DOCTYPE HTML>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
var myname = document.getElementById("firstname").value;
if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
    }
else
    {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    }
xmlhttp.open("POST", "test2.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("firstname="+myname);
}
</script>

</head>

<body>

Enter Your Name

<input id="firstname"> 
<button type="button" onclick="loadXMLDoc()"> Add Item </button>
<div  id="myDiv">
<?php 
if(isset($_SESSION['item'])){
echo "
";
print_r($_SESSION['item']);
echo "
";
}
?>
</div>

</body>
</html>
0
дададзена
@ User2404696 спадзяюся, вы зразумелі, што пайшло не так з вашым кодам і логікай :)
дададзена аўтар shanavascet, крыніца
дзякуючы shanavascet гэта сапраўды працуе.
дададзена аўтар user2404696, крыніца