2016-04-14 4 views
0

У меня возникает проблема при сохранении переменных данных в массиве, а затем массива на сеанс. Только за один раз значение хранится в массиве с индексом 0, но когда следующая страница загружается на следующую кнопку, нажмите, чтобы загрузить следующий тест, значение массива перезаписывается.Хранить переменные данные в массиве

<?php session_start(); 
$cat_name = $_POST["cat_name"]; 
$which_test_id = $_POST["which_test_id"]; 
echo $correct = $_POST["correct"]; 
$answers[] = array('correct' => $correct); 
$_SESSION["results"] = $answers; 
print_r($_SESSION["results"]); ?> 
+2

Добавить в массив с '[]' обозначение –

+0

@SaurabhSinha У него есть. – Tom

ответ

2

Просто получить ответы до набора :)

<?php session_start(); 
$cat_name = $_POST["cat_name"]; 
$which_test_id = $_POST["which_test_id"]; 
echo $correct = $_POST["correct"]; 
$answers = (array_key_exists("results", $_SESSION)) ? $_SESSION["results"] : array(); 
$answers[] = array('correct' => $correct); 
$_SESSION["results"] = $answers; 
print_r($_SESSION["results"]); 
?> 
0

Если он будет представлен, то значение показывает

<?php session_start(); 
if(isset($_POST['submit'])) 
{ 
$cat_name = $_POST["cat_name"]; 
$which_test_id = $_POST["which_test_id"]; 
echo $correct = $_POST["correct"]; 
$answers[] = array('correct' => $correct); 
$_SESSION["results"] = $answers; 
} 
print_r($_SESSION["results"]); ?> 
+0

hmmmmmmmmmmmmmmmmm –

+0

Вы получили ответ? –

0

1.You не нужен "[]" при объявлении массив.

2. Данные становятся переопределенными, потому что вы не проверяли, были ли данные установлены в первую очередь.

<?php 
ini_set('session.cookie_domain',"localhost"); 
session_start(); 
if(isset($_POST['submit'])) 
{ 
    $cat_name = $_POST["cat_name"]; 
    $which_test_id = $_POST["which_test_id"]; 
    echo $correct = $_POST["correct"]; 
    $answers = array('correct' => $correct); 
    if(!isset($_SESSION["results"])) 
    { 
     $_SESSION["results"] = $answers; 
    } 
} 
print_r($_SESSION["results"]); ?> 
Смежные вопросы