⊗ppPmRdSWP 407 of 447 menu

Autoredirezionamento con aggiunta di parametri in PHP

Supponiamo che sulla pagina index.php venga passato un parametro GET con nome arg. Visualizziamo il suo contenuto sullo schermo:

<?php echo $_GET['arg']; ?>

Supponiamo che la nostra pagina senza parametro GET non possa funzionare correttamente. Nel nostro caso è proprio così, poiché, se il parametro non viene passato, l'accesso a $_GET['arg'] porterà a un errore.

Potrebbe sorgere una domanda: come potrebbe una persona accedere alla nostra pagina senza il parametro? Dopotutto potremmo mettere link con questo parametro in tutto il nostro sito. Tuttavia, questo non è una garanzia: l'utente del nostro sito potrebbe, ad esempio, copiare un link da qualche parte e perdere nel frattempo il parametro. O semplicemente cancellarlo per sbaglio, modificando la barra degli indirizzi.

In ogni caso, il nostro codice dovrebbe prevedere una tale situazione e fare qualcosa al riguardo. Cosa si può fare?

Si può verificare l'esistenza del nostro parametro GET e visualizzarlo solo se esiste:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // reagiamo in qualche modo, ad esempio con un messaggio } ?>

Si può fare in modo più astuto:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // valore predefinito } echo $_GET['arg']; // visualizzerà sicuramente qualcosa senza errore ?>

Oppure si può fare in modo che quando si accede alla pagina senza parametro avvenga un reindirizzamento alla stessa pagina con il parametro:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // il parametro è garantito ?>

Spiegate qual è la differenza tra la seconda opzione e la terza.

Supponiamo che sulla pagina page.php si possa passare un numero tramite un parametro GET con nome num. Fate in modo che quando si accede senza questo parametro, venga eseguito automaticamente un reindirizzamento alla stessa pagina, ma con il parametro num con valore 1.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta