Visualizzazione dei risultati da 1 a 7 su 7

Discussione: COOKIE o SESSION

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    COOKIE o SESSION

    Sto costruendo due pagine in php.
    Nella prima pagina c'è un form che l'utente deve compilare con i suoi dati anagrafici personali.
    Nella seconda pagina c'è la continuazione del form della prima pagina, quindi mi serve un sistema per immagazzinare i dati temporaneamente, fina alla avvenuta iscrizione sui due form.
    Cosa conviene usare per mantenere i valori finchè non vengono salvati nel database:
    I COOKIE oppure le SESSION ?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    ti basta mettere i dati della prima pagina come campi nascosti del form della seconda pagina, e quando invii il secondo form hai tutto

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Solo che nel metodo del form ho questo:
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">

    Praticamente ho la pagina: form1.php ed una pagina che controlla: controllo_form1.php.
    Quindi se è compilato tutto bene va alla pagina form2.php che avrà: controllo_form2.php.

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    usare un controller 'è cosa buona e giusta', anche se così non lo stai facendo perchè PHP_SELF rimanda a se setesso, ma da quello che scrivi dopo forse è solo un errore di battitura.

    Comunque se usi il controller mi butterei su $_SESSION, avendo cura di inizializzare le variabili nella pagina del primo form, per evitare che 2 utenti che usino li stesso pc a distanza di poco tempo si incasinino i dati.

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    PHP_SELF rimanda a se stesso ma sopra includo "controllo_form1.php" che se ha compilato tutti i campi correttamente va a form2.php con un header( "Location: form2.php") che si trova nel "controllo_form1.php" dopo l'avvenuta di tutti i valori dei campi.
    Rimanda a se stesso perchè così posso far visulizzare all'utente il campo che non è stato compilato.
    Mi potresti far vedere come inizializzi le variabili?
    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Quando si devono memorizzare dati che servono per poco tempo conviene usare le sessioni, soprattutto se il cliente non ha i cookie abilitati.

    Per inizializzare una variabile di sessione basta inizializzare la sessione e poi modificare $_SESSION che è un array. Per leggerla si deve comunque inizializzare la sessione.

    Si usa session_start() per inizializzare le sessioni. Questo popola anche l'array $_SESSION. E' da mettere sempre prima di qualunque output, preferibilmente a inizio pagina.

    Si usa session_destroy() per eliminare tutte le variabili di sessione.



  7. #7
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    in questo caso per inizializzazione intendevo proprio l'azzeramento delle variabili coinvolte, semplicemente
    Codice PHP:
    $_SESSION['cognome'] = '';
    $_SESSION['nome'] = ''
    dando per scontato che in ogni pagina coinvolta ci deve essere session_start() altrimenti comunque non funziona nulla.

    Edit: se preferisci puoi usare anche unset ma la cosa non cambia di molto
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

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.