Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    Session_register non va...

    Buon giorno, non riesco a capire come mai i due script che posto non funzionano e pure sono semplicissimi..

    //ss1.php
    codice:
    session_start();
    $num_impiegato =session_id();
    session_register("nome","dipartimento"); ?>
    
    <HTML>
    <BODY>
    <?php
    $form="<CENTER><H2>Consegne Spa - Nuovo Impiegato</H2></CENTER>
    <FORM ACTION=\"ss2.php\" METHOD=\"POST\">
    Nome impiegato:
    
    <INPUT TYPE=\"text\" NAME=\"nome\" SIZE=20>
    
    Dipartimento
    
    <SELECT NAME=\"dipartimento\" >
    <OPTION SELECTED>Autista consegne 
    <OPTION>Magazzino
    <OPTION>Vendite
    <OPTION>Amministrazione
    </SELECT>
    
    
    <INPUT TYPE=\"submit\" VALUE=\"Pagina seguente\">
    <INPUT TYPE=\"reset\" VALUE=\"Cancella!\">
    </FORM>";
    
    ?>
    </BODY></HTML>
    <?php
    echo $form;
    ?>
    //ss2.php
    codice:
    <?php
    session_start();
    session_register("indirizzo","telefono"); 
    
    echo "Nome: " . $nome;
    ?>
    <HTML>
    <BODY>
    <?php
    $form="<CENTER><H2>Consegne Spa - Nuovo Impiegato</H2></CENTER>
    <FORM ACTION=\"ss3.php\" METHOD=\"POST\">
    Indirizzo impiegato:
    
    <INPUT TYPE=\"text\" NAME=\"indirizzo\" SIZE=30>
    
    
    Numero telefono impiegato:
    
    <INPUT TYPE=\"text\" NAME=\"telefono\" SIZE=30>
    
    
    <HR>
    <INPUT TYPE=\"submit\" VALUE=\"Pagina seguente\">
    <INPUT TYPE=\"reset\" VALUE=\"Cancella!\">
    </FORM>";
    ?>
    </BODY></HTML>
    
    <?php
    echo "$form";
    ?>
    Come mai, non mi registra i valori inviati dai form?
    Grazie mille

  2. #2
    Perchè utilizzi session_register() invece di $_SESSION?

  3. #3
    ho attivato register_globals = on

    ma noto che questi due script non registrano nulla, come mai?

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    http://fr.php.net/manual/en/function...n-register.php

    Attenzione

    Questo registra un variabile global. Se volete registrare una variabile di sessione interna a una funzione, avete bisogno di assicurarvi di farla globale usando global() o usate gli arrays di sessione come scritto sotto.
    Attenzione

    Se state usando $HTTP_SESSION_VARS/$_SESSION, non usate session_register(), session_is_registered() e session_unregister().
    Ti suggerisco di non usare queste funzioni, ma di registrare in sessione i dati utilizzando semplicemtente $_SESSION['variabile'];

    ciao

  5. #5
    Originariamente inviato da filippo.toso
    Perchè utilizzi session_register() invece di $_SESSION?
    Perchè ho trovato l'esempio che ho postato e volevo capire meglio...!!!!

    Comunque, per ribadire il concetto di $_SESSION:
    per attivare la sessione si fà cosi:

    codice:
    session_start();//per attivare
    
    $colore = $_GET['colore'];
    $_SESSION['colore'] = $colore;//per valorizzare la variabile di sessione
    
    session_destroy();//per distruggerla
    Cosi come ho fatto è ok?
    Oppure c'è un'altro modo per assegnare un valore alla variabile di sessione?

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    al posto di questo:

    codice:
    session_destroy();//per distruggerla
    usa questo
    codice:
    $_SESSION = array();


  7. #7
    per questo va bene, però ho altri problemi tipo,ho l'opportunità di:
    - cambiare colore layout
    - ridimensionare layout
    - ingrandire o meno il font
    - aprire o chiudere un submenu

    Per fare tutto questo fino a ieri utilizzavo i cookie, adesso mi è venuto in mente che FORSE potrei utilizzare le SESSIONI.

    Però il problema è che, se scelgo il colore layout blu, ok lo carica, ma se poi voglio ridimensionare il layout, mi perde il colore scelto e mi ritorna quello per default..

    Come posso ovviare?

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    La scelta tra cookie e sessioni è semplice, se vuoi che certi dati vengano mantenuti da sessione a sessione
    Ad esempio:

    voglio scegliere una volta il layout e ogni volta che entro trovo lo stesso layout scelto (cookie)

    voglio salvare i prodotti che l'utente vuole acquistare per un ecommerce (sessioni, non avrebbe senso salvare il carrello in modo che me lo ritrovo nuovamente quando ritorno sul sito dopo una settimana).

    Per quanto riguarda il fatto che perdi dei dati per strada è solo un problema di implementazione, in ogni pagina in cui vuoi accedere ai dati della sessione devi avere il comando session_start(), se il problema non è questo vuol dire che in qualche modo sovrascrivi i dati.

    A questo proposito attento alle register globals, perchè se hai $_SESSION['colore'] e $colore le 2 variabili sono la stessa cosa, quindi se usi da qualche parte nel tuo codice un nome di variabile uguale a quello che c'è in sessione lo sovrascrivi.

    Ecco perchè è meglio sempre settare le register globals a off e usare $_SESSION, le funzioni per le quali hai chiesto aiuto sono deprecate da un bel po' di tempo, una volta nel manuale c'era anche scritto di lasciarle perdere, non so se c'è ancora questa nota.

    Ciao

  9. #9
    misà che m'hai dato un paio di dritte che domani con calma cerco di mettere in pratica.
    PEr il momento ti saluto e ti auguro una buona serata.

    PS: se ho altri problemi, puoi sempre gentilmente, darmi una mano?
    Grazie ancora

  10. #10
    altra domanda:
    1) per poter eliminare solo un valore di sessione es. $_SESSION['colore']?

    grazie mille

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.