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& ;...&param_n=valoren
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& ;...&param_n=valoren
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& ;...&param_n=valoren
consulta l'array $_SERVER in questo modo
echo $_SERVER[REQUEST_URI]
se ti serve solo la query string
echo $_SERVER[QUERY_STRING]
consulta l'array $_SERVER in questo modo
echo $_SERVER[REQUEST_URI]
se ti serve solo la query string
echo $_SERVER[QUERY_STRING]
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)
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)
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ù.
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]
----------------------
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 "?":Originalmente inviato da mgs
file.php?par1=val1&par2=val2
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)