Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
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
Member
 
Iscritto dal: Nov 2020
Messaggi: 75
[#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: 1174
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


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
MacBook Neo: nessuna sorpresa nei primi ...
La serie POCO X8 Pro è pronta al ...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
Fra 3 giorni, a mezzanotte, Amazon attiv...
Il principale limite del MacBook Neo &eg...
899€ in tutti i colori, crolla il prezzo...
Sempre più pubblicità su Y...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
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: 16:15.


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