Ir para conteúdo

POWERED BY:

Arquivado

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

NaaDa

[Resolvido] Erro de variaveis

Recommended Posts

Boas,

 

Estou aqui com uma duvida, bem simples, e que acho que é de fácil resultado, só que eu é que não estou a chegar la :(

 

É o seguinte:

 

Se nos fizemos o seguinte:

 

...
if( $estatuto == admin ){
echo "Home | Serviços | Contacto | Admin";
exit;
}else{
echo "Home | Serviços | Contacto";
exit;
}
...
//(não sei se funciona foi mesmo só para expor o meu problema xD)

 

 

Caso eu não tenha posto a variável estatuto, isto iria dar erro, o mesmo ocorre se fosse uma sessão(que é o meu problema) ou um cookie.

 

Tem de haver maneira de ver se essa variável existe ou não, simplesmente ir logo para o else :S

 

Desde já obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(isset($variavel) && !empty($variavel)) 
{ 
 // logica segue
}

 

isset() --> função que verifica se a variavel está definida

!empty() --> verifica se a variavel NAO (ponto de exclamacao) está vazia

 

Espero ter ajudado ! Abracos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que intendi, ve ai se é isso :)

 

<?php 
if(isset($_SESSION['estatuto'])){
	$estatuto = $_SESSION['estatuto'];
	if( $estatuto == admin ){
		echo '<li><a href="contacto.php"><span class="l"></span><span class="r"> </span><span class="t">Administração </span></a></li>';
	}
}
?>

 

Aqui nao ta dando, mas se isso estiver bem, quer dizer que tenho algo aqui no codigo que nao ta bem xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que intendi, ve ai se é isso :)

 

<?php 
if(isset($_SESSION['estatuto'])){
	$estatuto = $_SESSION['estatuto'];
	if( $estatuto == admin ){
		echo '<li><a href="contacto.php"><span class="l"></span><span class="r"> </span><span class="t">Administração </span></a></li>';
	}
}
?>

 

Aqui nao ta dando, mas se isso estiver bem, quer dizer que tenho algo aqui no codigo que nao ta bem xD

 

 

Voce deve estar errando na sua segunda estrutura condicional. Tenta isso:

if($estatuto == "admin") { // logica segue }

 

Sem aspas voce estaria comparando $estatuto com algo que nao existe, porque admin nao é nem uma variavel aceita em PHP. Acho que voce se esqueceu de adicionar aspas para comparar strings. Tenta isso ! Abracos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, reparei nisso :)

 

 

Mesmo assim não estava a dar, e lembrei-me de uma coisa :|

 

<?php
session_start();
if(isset($_SESSION['estatuto'])){
  if( $_SESSION['estatuto'] == "admin" ){
    echo '<li><a href="contacto.php"><span class="l"></span><span class="r">		</span><span class="t">Administraçao </span></a></li>';
  }
}
?>

 

Aparentemente dá, mas da um erro que é:

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\1\index.php:16) in C:\xampp\htdocs\1\index.php on line 56

 

56 = session_start()

 

Já pós no topo, de tudo mesmo, e nada, bem ta difícil por isto a dar xD

 

Como tiro este erro ? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro geralmente acontece quando existe alguma outra informação sendo exibida na pagina antes da session comecar. Ela nao tem que ficar no topo de um bloco PHP qualquer, ela tem que ficar no topo do arquivo, logo nas primeiras linhas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, estava apor depois do <body> bastou por na 1 linha mesmo, e já da :)

 

Obrigado pela sua ajuda :D

Você é muito bom ;)

 

Obrigado mais uma vez ;)

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.