Visualizzazione dei risultati da 1 a 7 su 7

Discussione: controllo $_GET vuoto

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323

    controllo $_GET vuoto

    Salve, ho questo codice:
    codice:
    $p_get = (!empty($_GET['p'])) ? $_GET['p'] : '';
    $_GET['p'] = max( 0, intval($p_get) );
    mi dite come posso risolvere il problema con un rigo di codice,
    senza che devo scrivere sempre due volte la solita cosa?
    perché cosi:
    codice:
    $_GET['p'] = max( 0, intval($_GET["p"]));


    mi dava errore undefined index p .

    come posso risolvere il problema?

    grazie mille e buona giornata.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    scusate, ma era cosi?
    $_GET['p'] = max( 0, intval(!empty($_GET['p'])) ? $_GET['p'] : '');

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Codice PHP:
    $p_get = (!empty($_GET['p'])) ? $_GET['p'] : '';$_GET['p'] = max0intval($p_get) ); 
    Battute a parte, non è che si può sempre fare tutto con una riga di codice.
    Tra l'altro se proprio vuoi ottimizzare e rendere pià elegante il codice, io inizierei evitando di assegnare cose alla variabile superglobale $_GET, quella sarebbe meglio lasciarla gestire al server.
    Per esempio puoi continuare ad usare $p_get anche per la seconda riga di codice.
    Sì, puoi usare $p_get sia prima che dopo il segno = e funzionerà tutto correttamente.

  4. #4
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    scusate, ma era cosi?
    $_GET['p'] = max( 0, intval(!empty($_GET['p'])) ? $_GET['p'] : '');
    E' una domanda o un'affermazione?

    Comunque si, così va bene se è quello che devi fare, a prescindere dalla correttezza logica della cosa.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    ma intval(!empty($_GET['p'])) dici che funziona?

    empty() dice true o false, non dice il valore di $_GET['p'] in caso sia definito, quindi sarà sempre

    max(0,0)

    oppure

    max(0,1)

    a seconda che empty($_GET['p']) sia true o false, no?

    Edit: ah no, mi sa che ho visto male le parentesi

  6. #6
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    ma intval(!empty($_GET['p'])) dici che funziona?

    empty() dice true o false, non dice il valore di $_GET['p'] in caso sia definito, quindi sarà sempre

    max(0,0)

    oppure

    max(0,1)

    a seconda che empty($_GET['p']) sia true o false, no?

    Edit: ah no, mi sa che ho visto male le parentesi
    Più che altro, per correttezza metterei 0 (zero) al posto di stringa vuota.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ho risolto cosi:
    e funziona..
    codice:
    $page = $_GET['page'] = isset($_GET['page']) ? max( 1, intval($_GET['page']) ) : 1;
    vi ringrazio molto.

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.