Jump to content


Photo

Verificar Se Tal Valor(também) Percente A Tal Variável


  • Faça o login para participar
5 replies to this topic

#1 klauss

klauss

    it me

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 12/09/2007, 09:02

Estou fazendo uma parte de um site em php, onde vou usar um arquivo .php como arquivo de configuração para controlar o que vai ter nas outras páginas, se na url das outras páginas valor=1 abre um, valor=2 abre outro. Até ai td bem, só que não gosto de deixar espaço para que alguem digite algo inexistente no arquivo de configuração (config.php) (valor=blablabla ou valor=100110010, valor=-1), gostaria de antes, checar, se valor pertencer a tal variavel estiver no config.php, ai sim, abrir tal site, senão, abrir uma página padrão, pra evitar de abrir uma página sem nada. Se alguém puder me dar uma luz de por onde começar, pois dei uma consultada no php.net em torno do if, arrays etc, mas não consegui pensar em algo até agora. Checavalor tendo um dado, e fácil, mas quero colocar vários, como no complicograma abaixo:

(Se $valor(1) está contido em $checavalor(1,3,5-9,21,23-38), então abrir a página tal,
senão
Abrir paginapadrao.php)

(Está contido, não está contido, isto me faz lembrar akeles livrinhos cinzentos de matemática no primário, só numeros em comics sans e desenhos tortos, o cheiro ruim do cural que a dona sebastiana preparava na cantina, ow trem ruim....rss.. :wacko: )

Edição feita por: klauss, 12/09/2007, 09:05.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 12/09/2007, 09:18

Por exemplo:
<?php

$arr_perm = array(1, 2, 3, 4);

if( in_array($_GET['valor'], $arr_perm) )
{
	// abrir pagina tal
}
else
{
	// abrir pagina padrao
}

?>

O if() vai verificar se o valor vindo da URL está contido no array $arr_perm.

Flws...
^_^Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 klauss

klauss

    it me

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 12/09/2007, 09:54

Ok Paulo, isto mesmo que eu quero, só vou dar umas marteladas aki pq o
$arr_perm = array(1, 2, 3, 4);
irá ficar no config.php, já o resto do codigo, na pagina templatepadrao.php que é de include na index.php, pensei em dar um header("Location:") mas não pode pq o cabeçalho ja foi definido no inde.php, mas daki eu já me viro, é so mandar, ou dar um echo no codigo html do templatepadrao.php se contiver no array, ou dar um echo num codigo q redireciona pa outra padrão e funciona pro que eu quero ^_^

Edição feita por: klauss, 12/09/2007, 10:03.


#4 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 12/09/2007, 10:01

Se você incluir o config.php dentro do templatepadrao.php, você pode acessar essa variável.

Pelo conceito do include, a pagina a ser incluida faz parte do escopo da página como um todo.

config.php
<?php
	$arr_perm = array(1, 2, 3, 4);
?>

templatepadrao.php
<?php
	  include_once("config.php");

	  if (in_array($arr_perm, $_SESSION['usuario']['perm']) {
			 //Codigo
	  } else
		 echo "Sem permissao para acessar!";
?>

Espero que tenha compreendido sua idéia e caso seja, que você tenha entendido a lógica (:

(y)

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#5 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 12/09/2007, 10:21

eu uso o switch()

<?php

$p = $_GET[pagina];

switch ($p) {

case 0:
include "0.php";
break;

case 1:

include "1.php";
break;

case 2:
include "2.php";
break;

default : //caso não seja nenhum dos casos
include "padrao.php";
break;
}

?>



Eu tenho um arquivo.php só para o switch das páginas e incluo ele na index.php

Ali no exemplo do switch eu não uso:

case 'blablabla' :
include "blablabla.php"
...

eu determino o nome do arquivo à uma variável

case 'blablabla' :
$include =  "blablabla.php"
....

Coloco o arquivo switch.php no topo do index.php e aonde eu quiser incluir eu utilizo:

include $include;


(y)Até mais

#6 klauss

klauss

    it me

  • Usuários
  • 84 posts
  • Sexo:Não informado

Posted 12/09/2007, 11:17

Cara, a ideia de fazer o switch assim é otimo, eu uso tbm, mas direto na página index.php, mas a idéia de colocar ele num config.php (dentro de um diretorio /config/ negado por .htaccess :boxing: ) e chamar via variável tbm é ótima. Mas no meu caso, a pagina templatepadrao.php ta sendo chamada via switch:

case 'secao_tal' : include 'templatepadrao.php'; break;

dai, eu usei uma variavel passada via url para dizer qual pagina abrir nesse template, sempre nele, seção tal ou seção aquela... daí a necessidade de fechar o codigo pra nao ficar em branco caso por algum erro ou sacanagem, alguem passe um valor que nao ta no config.php.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq