Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NFelipeFL

Verificar se GET existe...

Recommended Posts

Tô utilizando este código:

 

menu.php

<?php
$inc = "404.php";
if($_GET['secao'])=="1") { $inc = "paginas/1.php"; }
include($inc);
?>

 

O que o código faz: no menu os hrefs estão divididos da seguinte forma: menu.php?secao=1, mas quando eu acesso menu.php sem o get SECAO, retorna o seguinte erro: Notice: Undefined index: secao in c:\easyphp1.8\www\pagina\menu.php on line 13.

 

Sendo a linha 13: if($_GET['secao'])=="1") { $inc = "paginas/1.php"; }.

 

Ou seja, ele apenas abre o menu.php sem erro quando existe a string SECAO (menu.php?secao).

 

Como resolver para que quando eu abra apenas MENU.PHP sem string ele não retorne erros? (sem usar @ no $_get)

 

 

Edit:

 

Consegui colocando esse código no inicio do php:

if (isset($_GET["secao"]))
      $get = addslashes(strip_tags(trim($_GET['secao'])));
 else    
      $get = "";  

 

E alterando a linha 13 para: if($get=="1") { $inc = "paginas/1.php";

 

Mas, outra pergunta: este código pode estar vulneravel por não ter o addslashes no $_GET['secao'] nessa linha: if (isset($_GET["secao"]))

 

 

RESOLVIVO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode desativar essas NOTICES também...

 

 

 

Mas, outra pergunta: este código pode estar vulneravel por não ter o addslashes no $_GET['secao'] nessa linha: if (isset($_GET["secao"]))

 

Provavelmente essa $_GET['secao'] é um numero certo?

 

se sim você poderia usar somente isso para validar.

<?
$secao = (int) $_GET['secao'];// Caso seção = '555<a href>' se tornará apenas 555
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer +- assim:

 

if( isset( $_GET[ 'secao' ] ) )
{
 $secao = $_GET[ 'secao' ];

 switch( $secao )
 {
   case 1:
       $inc = 'secao1';
       break;
   case 2:
       $inc = 'secao2';
       break;
   case 3:
       $inc = 'secao3';
       break;
   default:
       header('Location: http://www.example.com/');
 }
 include( 'paginas/' . $inc . '.php' );
}
else
{
 echo( 'Não existe seção seleciona!!' );
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.