Visualizzazione risultati 1 fino 9 di 9

Discussione: php e parametri

  1. #1
    Guest

    Predefinito

    come faccio a controllare se una pagina ha parametri o no?
    Mi spiego meglio, come faccio a sapere se la pagina caricata è:

    pagina.php

    oppure

    pagina.php?param_1=valore1&param_2=valore2&amp ;...&param_n=valoren

  2. #2
    Guest

    Predefinito

    come faccio a controllare se una pagina ha parametri o no?
    Mi spiego meglio, come faccio a sapere se la pagina caricata è:

    pagina.php

    oppure

    pagina.php?param_1=valore1&param_2=valore2&amp ;...&param_n=valoren

  3. #3
    Guest

    Predefinito

    consulta l'array $_SERVER in questo modo

    echo $_SERVER[REQUEST_URI]

    se ti serve solo la query string

    echo $_SERVER[QUERY_STRING]

  4. #4
    Guest

    Predefinito

    consulta l'array $_SERVER in questo modo

    echo $_SERVER[REQUEST_URI]

    se ti serve solo la query string

    echo $_SERVER[QUERY_STRING]

  5. #5
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sì ecco, come dice Jole, per controllare se ci sono parametri passati puoi usare la condizione:

    [code:1:b61cb73fc1]if ( strlen($_SERVER[QUERY_STRING]) ){
    .. ci sono parametri ..
    }else{
    .. nessun parametro ..
    }[/code:1:b61cb73fc1]

    ovviamente questa condizione sfrutta implicitamente il valore intero ritornato da strlen() (lunghezza della stringa in caratteri), se ritorna un valore maggiore di zero vuol dire che hai una query string con parametri, e qualsiasi valore numerico superiore allo zero equivale al booleano TRUE; altrimenti ritorna 0 (zero, negando la condizione) che equivale a FALSE dunque è "superfluo" controllare ulteriormente con:
    strlen($_SERVER[QUERY_STRING]) > 0
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sì ecco, come dice Jole, per controllare se ci sono parametri passati puoi usare la condizione:

    [code:1:b61cb73fc1]if ( strlen($_SERVER[QUERY_STRING]) ){
    .. ci sono parametri ..
    }else{
    .. nessun parametro ..
    }[/code:1:b61cb73fc1]

    ovviamente questa condizione sfrutta implicitamente il valore intero ritornato da strlen() (lunghezza della stringa in caratteri), se ritorna un valore maggiore di zero vuol dire che hai una query string con parametri, e qualsiasi valore numerico superiore allo zero equivale al booleano TRUE; altrimenti ritorna 0 (zero, negando la condizione) che equivale a FALSE dunque è "superfluo" controllare ulteriormente con:
    strlen($_SERVER[QUERY_STRING]) > 0
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    L'avatar di mgs
    mgs
    mgs non è connesso Utente storico
    Data registrazione
    21-03-2003
    Residenza
    Cagliari
    Messaggi
    1,655

    Predefinito

    che diff ci sono con $_GET['valore']; ?????'

    io uso quello...

    • Il 95% delle risposte che volete avere si trova sul regolamento
    del Forum o su quello di AV. •
    Al restante 5% troverete risposta se ci pensate su solo 2 minuti.



  8. #8
    Guest

    Predefinito

    Mi da questo errore
    Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in ..........

    P.S. vorrei fare un controllo generale sulla stringa dei parametri perchè mi interessa che non sia settata perchè se devo controllarli tutti con $_get['valore'] non la finisco più.

  9. #9
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Beh non è proprio un errore, è un warning, ma ha ragione è corretto indicare 'QUERY_STRING' come stringa. In quel "Notice" ti dice che una costante QUERY_STRING non esiste e dunque automaticamente la prende per stringa, comunque meglio evitare, così:

    [code:1:38cc0e174a]if ( strlen($_SERVER['QUERY_STRING']) ){
    .. ci sono parametri ..
    }else{
    .. nessun parametro ..
    }[/code:1:38cc0e174a]

    ----------------------
    Citazione Originalmente inviato da mgs
    che diff ci sono con $_GET['valore']; ?????'

    io uso quello...
    Beh con $_GET['nomeparam'] ottieni il valore di UN parametro specificato dalla chiave 'nomeparam', invece con $_SERVER['QUERY_STRING'] ottieni TUTTA la parte dell'URL che contiene le coppie param=valore, insomma quello che c'è dopo il "?":
    file.php?par1=val1&par2=val2
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •