Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema gestione array

    Salve a tutti, sono alle prime armi del php ed esercitandomi a creare una pagina di aggiunta elementi (nome cognome e data di nascita presi da un form html con $_POST) ad un array (valido solo per la sessione corrente) incontro il problema che ogni volta che inserisco un nuovo elemento mi cancella il contenuto dell'array precedentemente creato..

    Codice PHP:
    <?php
    $nome 
    $_POST['nome'];
    $cognome $_POST['cognome'];
    $data $_POST['datanascita'];
    function 
    newarray($nome,$cognome,$data) {
        global 
    $data;
        global 
    $nome;
        global 
    $cognome;
        global 
    $persona;
        
    $persona[] = array('nome' => "$nome'cognome' => "$cognome"'data' => "$data");
        }
    if(empty(
    $persona)) {
        global 
    $persona;
        
    session_start();
    } else {
        
    $persona $_SESSION['persona'];
    }
    newarray($nome,$cognome,$data);
    print_r($persona);
        
    ?>
    qualcuno può darmi una mano?

  2. #2
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    incontro il problema che ogni volta che inserisco un nuovo elemento mi cancella il contenuto dell'array precedentemente creato..
    questo perchè stai facendo questo:
    Codice PHP:
    // aggiungo un nuovo elemento
    $persona[] = array(....);
    // resetto $persona allo stato in cui l'ho salvato l'ultima volta.
    $persona=  $_SESSION['persona']; 
    qualcuno può darmi una mano?
    onestamente, penso che tu stia correndo un po' troppo. non dovresti accontentarti del 'basta che funzioni', ma anche capire cosa stai facendo.
    ad esempio, sai cosa succede quando si inserisce quel 'global $nome;'? e come funziona quando passi i paramentri ad una funzione? e session_start();?

  3. #3
    onestamente, penso che tu stia correndo un po' troppo. non dovresti accontentarti del 'basta che funzioni', ma anche capire cosa stai facendo.
    ad esempio, sai cosa succede quando si inserisce quel 'global $nome;'? e come funziona quando passi i paramentri ad una funzione? e session_start();?
    global $var; usa le variabili precedentemente definite all'interno della funzione e le modifica solo all'interno della funzione stessa e prima cazzata che ho fatto... xD
    e session_start() mi apre la sessione fino a che non chiudo il browser così da poter permettere il richiamo delle variabili nelle successive volte che inserisco una nuova persona.. (o sbaglio?)
    il problema è che ho studiato un po' ma ho molta confusione in testa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.