• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

plastiik

Problema com Mod (includes)

7 mensagens neste tópico

epa tenho 1 problema, que se resume ao seguinte, declaro uma variavel de secção para poder fazer 1 if para usar o mod, mas o problema é que ele nem verifica o IF, passa sempre.  :wallbash:

<?php
if ($_SESSION["admin"]){
	$mod2 = "admin";
}
else if(!$_GET[mod2]) {
	$mod2 = "index";
}
else { 
	$mod2 = $_GET[mod2];
}
?>

isto é a inicialização da varriavél, já fiz todos os testes, e ela funca! hahaha  ;)

$_SESSION["admin"] = "admin";

ou seja ele nem verifica se a sessão existe passa logo para o $_GET[mod2] quando não o devia fazer

alguma sugestão?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epa ja tinha tentado isso e não dá :S, e ignora mesmo forçando  ;) é isso que não percebo! mas se eu fizer o $_GET[mod2] ele ja verifica mas não verifica os seguintes...

if ($_SESSION["admin"] || !$_GET[mod2]){

epa vou mostar o codigo todo em causa pode ser que seja mais facil :P

pagina que verifica sessão, e se verdadeiro faz isto.

<?php
if(empty($_SESSION["id_utilizador"]) || empty($_SESSION["user"]) || empty($_SESSION["login"]) || $_SESSION["nivel"] == "1")
{
	echo "<p>Efectua o login com a conta de Administrador</p>";
}
else {
	$_SESSION["admin"] = "admin";
	echo "<div>
			<ul id='sliding-navigation'>
				<li class='sliding-element'><center><h3>Administração</h3></center></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_noticias'>Noticias</a></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_multimedia'>Multimédia</a></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_comercio'>Comércio</a></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_documentacao'>Documentação</a></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_classificacao'>Classificação</a></li>
				<li class='sliding-element'><a href='index.php?mod2=admin&mod=admin_contacto'>Contacto</a></li>
			</ul>
			</div>
			<div id='standing_admin'>
				<center><a href='index.php?mod=destroy_admin'>menu anterior</a></center>
			</div>";
}
?>

pagina que o mod é verificado (index)

<?php
if (isset($_SESSION["admin"])){
	$mod2 = "admin";
}
else if(!$_GET[mod2]) {
	$mod2 = "index";
}
else { 
	$mod2 = $_GET[mod2];
}
?>

ja agora este site/programa é para um trabalho de final de curso :D a minha intensão é que se o admin estiver logado no menu de administração o mod2 em causa sja definido como admin por defeito, assim automatizo o codigo e facilito a navegação do administrador, porque se for para mandar sempre o mod2 posso ter alguns bugs assim eu evite-os. isto é o meu primeiro trabalho a sério de php, javascript, ajax, e isso. se quizerem que comente o codigo para melhor verificação deste posso comentar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No ínicio do código tens de colocar:

<?php
session_start();
//O resto do código
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No ínicio do código tens de colocar:

<?php
session_start();
//O resto do código
?>

o problema de colocar isso, é que depois ele mesmo apos destruição da variavel de sessão ele inicia essa sessão, e não pode ser... :S pois tou a ver que é dificel contornar o problema :S eo menu aperece sempre.. e também ja inicio a sessão no ficheiro de autenticação e no index antes.. mas não é nada que eu ja não tenho experimentado ;) a tua sugestão :P tou a dar em  :cheesygrin: com este prob...

é que a unica solução que conheço é usar uma variavel de sessão! a não ser que aja outra forma de o fazer...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@plastiik

Tens de ter o session_start como o @scorch disse.

Apagar sessões não é aparentemente trivial mas pode não ser, caso não se perceba as implicações.

http://php.net/manual/en/function.session-destroy.php

vê no link acima os comentários das pessoas, e ficarás a perceber algums métodos mais eficazes de apagar sessões do que o tradicional.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora