Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中找不到变量_Php_Arrays_Session - Fatal编程技术网

在php中找不到变量

在php中找不到变量,php,arrays,session,Php,Arrays,Session,我使用会话将数组传递到另一个页面 我还传递了数组的索引 现在我想访问那个特定的索引,但我不能这样做,有人能帮忙吗 这是我创建数组并将其存储在会话中的第一页 <?php //connection made $con = mysqli_connect("localhost", "root", "", "QSTNS"); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_

我使用会话将数组传递到另一个页面 我还传递了数组的索引 现在我想访问那个特定的索引,但我不能这样做,有人能帮忙吗

这是我创建数组并将其存储在会话中的第一页

<?php

//connection made
$con = mysqli_connect("localhost", "root", "", "QSTNS");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//-----------------two variables entered in datavbase------------
$user = mysqli_real_escape_string($con, $_POST['user']);
$user1 = mysqli_real_escape_string($con, $_POST['user1']);

$sql = "INSERT INTO student (name,rln,scr)VALUES ('$user1','$user','0')";
if (!mysqli_query($con, $sql)) {
    die('Error: ' . mysqli_error($con));
}

$res = mysqli_query($con, 'SELECT COUNT(*) FROM qstns');
$row = mysqli_fetch_array($res);
echo $row[0];

$size = $row[0];

//creating an array of size equal to number of questions in DATABASE....
$q_indx = array(); //question indexes without permutation 
$attmpt = array(); //check if a question attempted or not
$score = array();  //score per question initially empty    

for ($i = 0; $i < $size; $i++) {
    array_push($q_indx, $i);
    array_push($attmpt, -1);
    array_push($score, 0);
}

$cindx = 0;

session_start();
$_SESSION['q_indx'] = $q_indx;             //HERE THAT SESSION IS CREATED
$_SESSION['attmpt'] = $attmpt;
$_SESSION['score'] = $score;
$_SESSION['cindx'] = $cindx;

header('Location: quiz_start.php');
mysqli_close($con);
?>
从中,我们可以收集到
$\u SESSION['q\u indx']
包含一个数字数组,如下所示

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
)
从您的代码中,
$cindx=0,因此我们正在查看索引
0
。所以,

echo $_SESSION['q_indx'][0];  //One way of doing it
echo $_SESSION['q_indx'][$cindx];  //Another way of doing it

编辑

无法将mysqli\u result类型的对象用作第12行C:\wamp\www\quiiz\u portal\quick\u start.php中的数组,您能告诉我为什么会在那里吗

将MySQL查询更改为

$qstn = mysqli_query($con, "SELECT * FROM qstns where qid = '". $dsply[0] ."'");

编辑


您缺少
会话_start()cindx
,它是
q\u indx
数组的整数(索引),这两个数组都存储在会话变量中?如果是的话,那么你可以这样做:
$\u SESSION['q_indx'][$\u SESSION['cindx']]
@hd我试过了,它产生了另一个错误,不能在C:\wamp\www\quiiz_portal\quick_start.php的第12行使用mysqli_result类型的对象作为数组。你能告诉我为什么这个错误不是从这里产生的吗。我将更新我的答案以解决此问题you@hd我已经编辑了这个查询,你能告诉我哪里出了问题吗我是PHPY的新手你没有
session_start()在您的第一个文件中。您可以这样做,但要在打开php标记之后进行。
$qstn = mysqli_query($con, "SELECT * FROM qstns where qid = '". $dsply[0] ."'");