Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Notice su variabili non inizializzate: dubbio

    In alcuni casi ho delle funzioni come questa:

    if ($_SESSION['login'] == "yes"){

    che però mi restituisce il notice che la variabile non è inizializzata.

    Ho risolto o così (vedendo se la variabili è settata):

    if (isset($_SESSION['login']) and ($_SESSION['login'] == "yes")){

    Oppure così:

    if (@$_SESSION['login'] == "yes")){

    Premesso che non voglio togliere i Notice dalla configurazione di Apache, ma voglio scrivere in maniera corretta il codice, quale delle 2 soluzioni è più corretta?
    Oppure esiste un altro modo migliore?

  2. #2
    la seconda, scusa il termine, e' una cazzata.

    Quindi la prima.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ok.
    Ma in questo caso invece:

    $carrello = $_SESSION['carrello'];

    In questo caso sto inizializzando una variabile. Però se, come quando accedo alla pagina la prima volta, la $_SESSION['carrello'] non è settata, pertanto mi da il notice che carrello non è definito.
    Come risolvo questo?

  4. #4
    Questo è il metodo corretto:

    Codice PHP:
    if (!isset($_SESSION['carrello']))
        
    $_SESSION['carrello'] = array(); // o il tipo di variabile che ci metti dentro

    $carrello $_SESSION['carrello']; 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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.