Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fujifilm X-E4: la tradizione si rinnova con 26,1 megapixel. Eccola in anteprima
Fujifilm X-E4: la tradizione si rinnova con 26,1 megapixel. Eccola in anteprima
La nuova Fujifilm X-E4 non stravolge il design della famiglia, tanto caro agli appassionati del marchio, anzi lo porta all'estremo con linee ancora più tese ed essenziali. Il più recente sensore X-Trans CMOS IV di quarta generazione da 26,1 megapixel fa fare il salto di qualità tanto richiesto. Migliora la resa fotografica, ma soprattutto migliorano le prestazioni, con raffica fino a 20 fps
Sony Alpha A1: la nuova regina dello sport. 50 megapixel a 30 fps e 8K
Sony Alpha A1: la nuova regina dello sport. 50 megapixel a 30 fps e 8K
Sony cala un asso che scombina le carte in tavola: la nuova mirrorless full frame Sony Alpha A1 offre 50,1 megapixel e la possibilità di scattare a piena risoluzione a 30 fotogrammi al secondo senza blackout nel mirino. Completano il quadro i video 8K 30p e 4k 120p, oltre all'autofocus da 759 punti con Real Time Eye AF per persone e animali
Recensione Samsung Galaxy Tab A7: un tablet affidabile a meno di 250€
Recensione Samsung Galaxy Tab A7: un tablet affidabile a meno di 250€
L'entry-level di Samsung è un tablet economico intorno ai 250 euro che consente di eseguire qualsiasi operazione senza impuntamenti o problematiche varie. Ci ha permesso di giocare anche a qualche gioco mediamente più complesso del giochino tipico con engine 2D, di visionare contenuti video senza problemi, il tutto corredato da un'ottima autonomia su singola carica. Si è rivelato, durante il nostro uso, un tablet molto affidabile in una fascia di mercato senza dubbio interessantissima.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-11-2020, 22:38   #1
andrea46r
Junior Member
 
Iscritto dal: Nov 2020
Messaggi: 1
[PHP] Problema salvare in sessione contenuto array

Buona sera, premetto che sono alle prime armi e potrebbe anche essere uno "stupido" errore ma non riesco a venirne a capo. Questo è il codice che ho scritto fino ad ora:

-- file ricercacalorie.php --

Codice PHP:
<?php include 'rdatabase.php' ?>
<?php session_start
(); ?>

<?php
.........
..........

if(isset(
$_POST['cerca'])){

    
//     echo "tutto ok!";

    // }else{

    //     echo "qualcosa non va!";
    // }

    
$calorieMin $_POST['calorie_min'];
    
$calorieMax $_POST['calorie_max'];
    
    
    
$calorieMin mysqli_real_escape_string($connessione $calorieMin);
    
$calorieMax mysqli_real_escape_string($connessione $calorieMax);

    
    
$query "SELECT * FROM ricetta WHERE calorie BETWEEN $calorieMin AND $calorieMax";

    
$result mysqli_query($connessione $query);
    
$array_titolo = array();
    
$array_calorie = array();
    if(
$result)
    {
      if(
mysqli_num_rows($result)>0){
        echo 
"<table class='table table-stripped table-hover table-condensed table-bordered'>
                <tr>
                <th>Numero</th>
                <th>Titolo</th>
                <th>Tempo di cottura</th>
                <th>Preparazione</th>
                <th>Numero Proz.</th>
                <th>Tipologia</th>
                <th>Difficoltà</th>
                <th>Ingredienti</th>
                <th>Calorie</th>
                </tr>
        "
;
        while(
$row mysqli_fetch_assoc($result)){
                echo 
"<tr>";
                    echo 
"<td>" $row["id_ricetta"] . "</td>";
                    echo 
"<td>" $row["titolo"] . "</td>";
                    echo 
"<td>" $row["tempo_cottura"] . "</td>";
                    echo 
"<td>" $row["modalita_prep"] . "</td>";
                    echo 
"<td>" $row["n_porzioni"] . "</td>";
                    echo 
"<td>" $row["tipologia"] . "</td>";
                    echo 
"<td>" $row["difficolta"] . "</td>";
                    echo 
"<td>" $row["ingredienti"] . "</td>";
                    echo 
"<td>" $row["calorie"] . "</td>";
                echo 
"</tr>";
                
$ricettaTitolo $row['titolo'];
                
array_push($array_titolo,$ricettaTitolo);
                
$_SESSION['array_titoli'] = $array_titolo;
                
$ricettaCalorie $row['calorie'];
                
array_push($array_calorie,$ricettaCalorie);
                
$_SESSION['array_calorie'] = $array_calorie;
        }
        echo 
"</table>";
    }
    }else{
        
//echo '<script type="text/javascript"> alert("Invio ricetta fallito!") </script>'; //NON FUNGE
        //header('Location: rarea_autore.php');
        
echo "La ricerca non ha avuto successo";
    }

    
print_r($_SESSION['array_titoli']);
    echo 
"<br><br>";
    
print_r($_SESSION['array_calorie']);

    
//$_SESSION['array_titoli'] = $array_titolo;
    //$_SESSION['array_calorie'] = $array_calorie;

    /*echo "<br><br>Ti interessa qualche ricetta?<br>";
    $temp = count($array_titolo);*/
}
?>
.......
.......
-- file home.php --
Codice PHP:
.....
.....

 <?php 
      $prova1
=array();
      
$prova2=array();
      
$prova1 array_push($prova1$_SESSION['array_titoli']);
      
$prova2 array_push($prova2$_SESSION['array_calorie']);
      echo 
"<br>";
      
print_r($prova1);
      echo 
"<br>";
      
print_r($prova2);
    
?>

.....
.....
(il secondo pezzo di codice l'ho scritto ora velocemente e sono fuso non so se sia paragonabile ad una "bestemmia" o meno

vorrei riuscire a salvare in SESSIONE sia $array_titolo che $array_calorie solo che se stampo direttamente così il contenuto funziona. Se invece torno alla home e faccio una seconda ricerca nel momento del secondo salvataggio mi sovrascrive il contenuto dei 2 array invece che aggiungere. Mi sapreste aiutare?
Grazie
andrea46r è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2020, 21:35   #2
zabnicola
Junior Member
 
Iscritto dal: Nov 2020
Messaggi: 20
[#1 soluzione]
Codice:
 
array_push($array_titolo, $_SESSION['array_titoli'] );
array_push($array_titolo,$ricettaTitolo);
$_SESSION['array_titoli']=$array_titolo;
Il codice è corretto a mio avviso. Soltanto che le volte successive alla prima session_start andrebbe copiato il contenuto di $_SESSION, aggiunto cio che si voleva e quindi ricopiato nella $_SESSION per averli tutti nella successiva apertura della pagina nella stessa sessione.
Fammi sapere se è errato.
zabnicola è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2020, 22:34   #3
antonio338
Senior Member
 
L'Avatar di antonio338
 
Iscritto dal: Aug 2003
Messaggi: 1158
Premetto che sono arrugginito in php, ma tenterò lo stesso di aiutarti.
Il problema del tuo codice risiede qui
Codice:
$array_titolo = array();
$array_calorie = array();
dove sostanzialmente ogni volta crei un array nuovo e lo sovrascrivi in $_SESSION['il_tuo_array'], piuttosto che aggiungere valori a quello esistente.

Io avrei affrontato il problema cosi:
1) controllo se $_SESSION['nome_array'] esiste, con qualcosa del genere:
Codice:
if (!isset($_SESSION['nome_array'])
{
$_SESSION['nome_array'] = [];
}
Se non esiste, creo il mio array.
2) una volta instanziato l'array aggiungo i miei dati
Codice:
array_push($_SESSION['nome_array'], $dati_da_aggiungere);
o in alternativa $_SESSION['nome_array'][] = $dati_da_aggiungere
__________________
VENDITORI ONESTI: krieger, Corrente Elettrica, Cina.Z, Poliacido, Fedemike82, Lucas01, rikop, SystemR89
VENDITORI DA EVITARE: Ancora nessuno

Ultima modifica di antonio338 : 22-11-2020 alle 22:48.
antonio338 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fujifilm X-E4: la tradizione si rinnova con 26,1 megapixel. Eccola in anteprima Fujifilm X-E4: la tradizione si rinnova con 26,1...
Sony Alpha A1: la nuova regina dello sport. 50 megapixel a 30 fps e 8K Sony Alpha A1: la nuova regina dello sport. 50 m...
Recensione Samsung Galaxy Tab A7: un tablet affidabile a meno di 250€ Recensione Samsung Galaxy Tab A7: un tablet affi...
Recensione MSI RTX 3060 Ti Gaming X Trio, stile e prestazioni al servizio del gaming Recensione MSI RTX 3060 Ti Gaming X Trio, stile ...
FRITZ!Box 6580 LTE, il router per chi non è ancora raggiunto dalla fibra FRITZ!Box 6580 LTE, il router per chi non &egrav...
Tesla non è un competitor nella guida au...
Nvidia, i driver 461.40 WHQL pronti per ...
Mitakon Speedmaster 50mm F0.95 per Leica...
Lily è il primo smartwatch Garmin...
Commissione Europea chiamata a interveni...
Xe HPC, la GPU per i supercomputer di In...
Fujinon XF70-300mmF4-5.6 R LM OIS WR: do...
Micron, memoria DRAM il 40% più d...
Star Wars Battlefront II: più di ...
Getac S410 è il notebook semi-rug...
Fujifilm GFX 100S: la medio formato da 1...
Emotet in ginocchio: le forze di polizia...
Galaxy A32 5G è ufficiale! Eccolo...
Scheda video Intel Iris Xe e CPU AMD, qu...
Microsoft Surface Laptop 4: se ne parla ...
Sandboxie
Mozilla Thunderbird 78
GeForce Experience
HWiNFO Portable
HWiNFO
Driver NVIDIA GeForce 461.40 WHQL
FurMark
Firefox 85
K-Lite Codec Pack Update
K-Lite Mega Codec Pack
K-Lite Codec Pack Full
GPU Caps Viewer
Dropbox
Trillian
Paint.NET
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Served by www3v