⊗ppPmRdSWP 407 of 447 menu

Redirecionamento automático com adição de parâmetros em PHP

Suponha que na página index.php seja passado um parâmetro GET com o nome arg. Vamos exibir seu conteúdo na tela:

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

Suponha que nossa página não possa funcionar corretamente sem o parâmetro GET. No nosso caso, isso é verdade, pois, se o parâmetro não for passado, o acesso a $_GET['arg'] resultará em um erro.

Pode surgir a pergunta: por que alguém acessaria nossa página sem o parâmetro? Afinal, podemos colocar links em todo o nosso site com esse parâmetro. No entanto, isso não é uma garantia: o usuário do nosso site pode, por exemplo, copiar um link de algum lugar e perder o parâmetro no processo. Ou simplesmente apagá-lo acidentalmente ao editar a barra de endereços.

De qualquer forma, nosso código deve prever essa situação e fazer algo sobre ela. O que pode ser feito?

Podemos verificar se nosso parâmetro GET existe e exibi-lo apenas se ele existir:

<?php if (isset($_GET['arg'])) { echo $_GET['arg']; } else { // reagimos de alguma forma, por exemplo, com uma mensagem } ?>

Podemos agir de forma mais esperta:

<?php if (!isset($_GET['arg'])) { $_GET['arg'] = 'default'; // valor padrão } echo $_GET['arg']; // garantidamente exibirá algo sem erro ?>

Ou podemos fazer com que, ao acessar a página sem o parâmetro, ocorra um redirecionamento para a mesma página com o parâmetro:

<?php if (!isset($_GET['arg'])) { header('Location: ?arg=default'); } echo $_GET['arg']; // o parâmetro está garantidamente presente ?>

Explique qual é a diferença entre a segunda opção e a terceira.

Suponha que na página page.php seja possível passar um número usando um parâmetro GET com o nome num. Faça com que, ao acessar sem este parâmetro, um redirecionamento automático seja executado para esta mesma página, mas com o parâmetro num com o valor 1.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar