Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    verificare se una variabile è "indefinita"

    ciao a tutti...


    un piccolo aiuto:
    recupero una variabile così

    $ordinamento = $_GET['ordinamento'];


    come faccio a verificare se è definita?

    ho provato con "isset" ma non funziona...


  2. #2
    isset() oppure empty()
    codice:
    if(isset($_GET['ordinamento']) and $_GET['ordinamento'] != '') {
     $ordinamento = $_GET['ordinamento'];  }
     else $ordinamento = 'tuo default';
    
    oppure. almeno io lo preferisco per i dati GPC
    
    if(!empty($_GET['ordinamento']) {
     $ordinamento = $_GET['ordinamento'];  }
      else .....

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

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Non capisco come mai non funziona...

    $ordinamento = $_GET['ordinamento'];

    // verifico se esiste $ordinamento
    if(!isset($ordinamento) OR ($ordinamento == '')) {
    $ordinamento = "nome";
    }

    se faccio:

    echo $ordinamento;

    restiruisce undefined.


    anche le cose facili sembrano difficili..


  4. #4
    Originariamente inviato da piero.mac
    isset() oppure empty()
    codice:
    if(isset($_GET['ordinamento']) and $_GET['ordinamento'] != '') {
     $ordinamento = $_GET['ordinamento'];  }
     else $ordinamento = 'tuo default';
    
    oppure. almeno io lo preferisco per i dati GPC
    
    if(!empty($_GET['ordinamento']) {
     $ordinamento = $_GET['ordinamento'];  }
      else .....
    mi autoquoto.... prova cosi' ... che ne dici?

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

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    io provo così:

    if (!isset($ordinamento)) OR ($ordinamento == '') OR (empty($ordinamento)) {
    $ordinamento = "nome";
    }

    e mi da errore...

  6. #6
    piu' che dirti quello che dovresti fare.... e invece tu vuoi fare diversamente.... boh!

    codice:
    if(!empty($_GET['ordinamento']) {
          $ordinamento = $_GET['ordinamento'];  
          }
              else   {  $ordinamento = "nome";   }
    devi controllare se e' presente la valorizzazione di ------> $_GET <-----

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

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    if(!empty($_GET['ordinamento'])) {
    echo "1";
    $ordinamento = $_GET['ordinamento'];
    }
    else
    {
    $ordinamento = "nome";
    echo "2";
    }


    c'e' qualcosa che non torna... anche se $_GET['ordinamento'] è vuota (non valorizzata)...
    mi restituisce 1, e se faccio echo mi restiruisce undefined..

    forse è perchè vengono passati i dati da una funzione Ajax... altra spiegazione davvero non la trovo...

  8. #8
    ma fai una stampa degli array $_GET, $_POST e vedi cosa ti torna..... empty() ragiona in un modo, isset() in un altro. Vedi sul manuale le differenze che sono bene descritte.

    tu prova a fare ad inizio pagina:

    codice:
    <?php
    echo "<pre>";
    print_r($_GET);
    print_r($_POST);
    exit;
    e vedi se quello che ti stampa e' congruente con le tue attese... fai un po' di debug invece di supposizioni. Costo poco e rende molto di piu'....

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

  9. #9
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    mi restituisce così...

    [data] => 2008/01/20
    [page] => 1
    [ordinamento] => undefined


    so che è una "porcata"....

    mi sa che farò:

    if $ordinamento = "undefined" {

    }

  10. #10
    se passi "undefined" come stringa.... significa che empty() rende false e isset() true.

    comunque devi verificare $_GET['ordinamento'] (non so piu' con che parole dirlo) e non $ordinamento

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

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.