Jump to content

Problema com Mod (includes)


plastiik
 Share

Recommended Posts

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?

Link to comment
Share on other 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 😛

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 😄 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.

Link to comment
Share on other 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 😛 tou a dar em  😁 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...

Link to comment
Share on other 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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.