brendo 0 Denunciar post Postado Julho 5, 2013 É possível exibir variáveis e funções dentro das includes? Exemplo: index.php include "tool_n.php" tool_n.php <?if($_SESSION['nivel_usuario'] == '2'){echo "A";} B<br>C <? if(empty($_SESSION['nome'])) { echo $_SESSION['usuario']; } else { echo $_SESSION['nome']; } ?> Ao visualizar o index.php aparece: B C o "A" e nenhum nome e ou usuário não aparece, independentemente, se eu entrar com qualquer nível de usuário. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 5, 2013 Se você tentou e não viu aquele "A" sendo mostrado, então a condição não foi satisfeita. Você está trabalhado com sessões, não está? Lembrou do session_start()? Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 5, 2013 Claro, o session_start() está na página e nos includes, mas para: <? if(empty($_SESSION['nome'])) { echo $_SESSION['usuario']; } else { echo $_SESSION['nome']; } ?> e mais <? echo "<img border='0' src='mini.php?gd=3&src=configs/photo/fotos/{$_SESSION['photo']}&maxw=35'>"; ?> não há condição definida de nível de usuário e eles também não aparecem... resumindo, nada que tenha algum tipo de "condição" é mostrado. ------ No index.php ------ <?if($_SESSION['nivel_usuario'] == ''){echo file_get_contents ("tooloff.php");} else {echo file_get_contents ("toolon.php");}?> ------- Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 5, 2013 Você está ciente que usar file_get_contents() não vai trazer PHP e sim texto plano, né? Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 5, 2013 Pois é... Eu usava include, mas aparece na tela o #1 <?if($_SESSION['nivel_usuario'] == ''){echo include ("tooloff.php");} else {echo include ("toolon.php");}?> Então passei a usar o file_get_contents()... Nossa esqueci disso: "texto pleno"... Obrigado Bruno! Você sabe o que usar para o resultado da variável não aparecer? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 5, 2013 Cara, eu não tenho idéia do que você tá falando. Faz o seguinte, reformula o seu problema, descreve o que você realmente precisa fazer e como você tentou porque do jeito que está a gente pode varar o ano debatendo mil e uma soluções e nenhuma delas pode dar certo. Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 5, 2013 A função "include 'toolon.php'" retorna um valor booleano verdadeiro 1 (true), parece que a string está vazia, por isso tentei usar file_get_contents(), mas já vimos que vai faltar retornos nas próximas páginas. Compartilhar este post Link para o post Compartilhar em outros sites
mangakah 217 Denunciar post Postado Julho 5, 2013 Cara, pare de fumar maconha! Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Julho 5, 2013 Arquivos PHP podem retornar valores: a_nice_file.php <?php return 'Hey!'; another_awesome_file.php <?php $value = require __DIR__ . '/a_nice_file.php'; echo $value; // Hey! Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 5, 2013 Eu não uso drogas! Só estou dizendo que aparece o número 1 na página incluída! Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 6, 2013 RESOLVIDO! Em vez disso: <? if($_SESSION['nivel_usuario'] == ''){ echo include 'tooloff.php'; } else { echo include 'toolon.php'; } ?> Usar isso: <? if($_SESSION['nivel_usuario'] == ''){ include 'tooloff.php'; } else { include 'toolon.php'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 6, 2013 Amigo, que bom que resolveu. Mas pare, releia todo o tópico e tente se colocar em nosso lugarEm momento algum você disse que estava aparecendo o número 1 na tela. Agora olha para a sua própria solução e veja o que foi feito.Toda função que não trabalhe com referências e nem ecoe nada ao longo de sua declaração possui um retorno. O mesmo não é diferente para os construtores de linguagem.Veja o que o manual diz sobre include: Handling Returns: include returns FALSE on failure and raises a warning. Successful includes, unless overridden by the included file, return 1 Ou seja, todo include de sucesso retorna 1 e todo include falho, retorna FALSE, além de gerar um Warning. E para o contexto do "problema" (que não é um problema e sim falta de leitura do manual), 1 antes mesmo de ser um inteiro é um caractere imprimível. E o que acontece ao preceder um caractere imprimível com echo/print? Ele é enviado à saída do browser. O que explica perfeitamente o comportamento que só agora, aos 45 do segundo tempo, você soube se explicar ;) Compartilhar este post Link para o post Compartilhar em outros sites
brendo 0 Denunciar post Postado Julho 8, 2013 Justamente... Por isso o #1 estava sendo impresso... Em meio aos vários códigos e CTRL+C's - CTRL+V's, o script estava com a função "echo", por isso o #1 imprimia junto. Grato pelo retorno! Compartilhar este post Link para o post Compartilhar em outros sites