циклы — PHP «unset ()» функция работает до предыдущего кода

У меня проблема.

Я передал свои данные (как сеанс) в Графическом объекте на другой странице, и если я не отменяю сеанс после этого, я вижу два идентичных графика, иначе я не вижу никакого графика.
Я попытался с unset, var = NULL, объявив сеанс вне цикла while с = array (); но весь метод не удался. Я схожу с ума! Пожалуйста, зажги меня своими знаниями. Благодарю.

Это код (извините, но я не могу сделать отступ для вашего кода на этом сайте):

//STATISTICHE.PHP

<?php session_start(); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../css/stile.css">
</head>
<body>

<?php

include_once("../../classi/utils.lib.php");
include_once("../../classi/license.lib.php");
include_once("../../classi/funzioni.php");
include_once("../../classi/config.php");
include_once("../../classi/auth.lib.php");

list($status, $user) = auth_get_status();

if($status == AUTH_LOGGED && license_has($user, "sede_centrale"))
{
menu();
echo "<h1>STATISTICHE</h1>";

$query="SELECT nome FROM negozi ORDER BY id ASC";
$risultato=$db_magazzino->query($query);
while($negozio=$risultato->fetch_assoc())
{
$rimanenze=rimanenze($negozio['nome'], NULL, NULL, NULL, NULL);
$query2="SELECT * FROM elenco_movimenti WHERE causale='Vendita al dettaglio' AND fornitore='".$negozio['nome']."' ORDER BY data DESC";
$risultato2=$db_magazzino->query($query2);
while($scarico=$risultato2->fetch_assoc())
{
$_SESSION['data'][$scarico['data']]=$scarico['quantita'];
//echo $_SESSION['data'][$scarico['data']];
}
//var_dump($rimanenze);
if(count($rimanenze)>0)
{
echo "<h2>Grafico delle vendite di ".$negozio['nome'].":</h2>";
echo "<h4>Valore magazzino ".$negozio['nome'].": ".$rimanenze[count($rimanenze)-1]['valorizzazione_magazzino']." Euro</h3>";
//var_dump($_SESSION['data']);
if($_SESSION['data']!=NULL){
echo "<br/><img src=\"grafico.php\"/>";
unset($_SESSION['data']);}
}
//$risultato2->close();
}

} else
non_autorizzato();
?>
</body>

GRAFICO.PHP

<?php
session_start();
include_once("../../classi/phpgraphlib-master/phpgraphlib.php");
$graph=new PHPGraphLib(1000,500);
//Aggiungo i valori di cui sopra
$graph->addData($_SESSION['data']);
//Imposto il titolo
$graph->setTitle("Prodotti venduti");
//Indichiamo alla libreria di non mostrare le barre
$graph->setBars(false);
//Di conseguenza segnaliamo che si tratta di un grafico a linee
$graph->setLine(true);
//Visualizza un bollino nel punto del valore indicato
$graph->setDataPoints(true);
//Indichiamo il colore del bollino
$graph->setDataPointColor("yellow");
//Visualizza il valore del punto
$graph->setDataValues(true);
//Indichiamo il colore
$graph->setDataValueColor("blue");
//Creo il grafico
$graph->createGraph();
?>

0

Решение

Вы можете попробовать использовать пустой или же Исеть функции вместо того, чтобы просто проверить, если $_SESSION['data'] равно null,

Эти функции могут использоваться для проверки существования переменной, а также того, является ли их значение непустым.

0

Другие решения

Вы вызываете grahico.php прямо перед тем, как сбросить переменную SESSION. В основном это сводится к знанию того, что находится в этой СЕССИИ [данные] Выполните действие отладки. Поместите следующее в ваш код и вставьте результат.

if ($_SESSION['data'] != NULL) {
echo "<pre>";
print_r($_SESSION['data']);
echo "</pre>";
exit;

echo "<br/><img src=\"grafico.php\"/>";
unset($_SESSION['data']);
}
0

По вопросам рекламы [email protected]