Wanber Posted March 8, 2012 Report Share Posted March 8, 2012 (edited) Como faço pra chamar um arquivo e não perder os valores da variáveis?Explicando melhor:Tenho as páginas index.php, global.php e teste.phpglobal.php contém todas variaveis globais que preciso, e é chamado em todas páginas do site da seguinte forma: include 'global.php';no caso ele está sendo chamado no index.phpna mesma página index.php, chamo o arquivo teste.php (include 'teste.php';)tenho a variavel $titulo = 'titulo'; no global.phpquando chamo a variavel (echo $titulo;) no index.php ela é exibida corretamente.Mas quando chamo ela no teste.php tenho o erro de variável não definida (Notice: Undefined variable: titulo)Como faço pra exibir variaveis do global.php no teste.php? Edited March 8, 2012 by Wanber Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted March 9, 2012 Report Share Posted March 9, 2012 Mostra o código relevante ao erro/dúvida.Um abraço. Quote Link to comment Share on other sites More sharing options...
0 Wanber Posted March 9, 2012 Author Report Share Posted March 9, 2012 Mostra o código relevante ao erro/dúvida.Um abraço.index.php<?php include 'global.php'; include 'teste.php'; ?> global.php <?php session_start(); require_once './config.php'; $connect = mysql_connect($host, $username, $password) or header("location: ./instalacao"); $db = mysql_select_db($dbname, $connect) or header("location: ./instalacao"); require_once "class.core.php"; require_once "class.users.php"; $core = new Core(); $users = new Users(); $sitename = $core->CmsConfig('cms_name'); ?> teste.php <?php echo $sitename; ?>Quando entro na pagina index.php retorna o erro:Notice: Undefined variable: sitename Quote Link to comment Share on other sites More sharing options...
0 MLeandroJr! Posted March 9, 2012 Report Share Posted March 9, 2012 Só pra fins de teste, faça o seguinte em seu teste.php<?php global $sitename; echo $sitename; ?> Quote Link to comment Share on other sites More sharing options...
0 Wanber Posted March 9, 2012 Author Report Share Posted March 9, 2012 Só pra fins de teste, faça o seguinte em seu teste.php<?php global $sitename; echo $sitename; ?>Deu certo! Muito obrigado Quote Link to comment Share on other sites More sharing options...
0 MLeandroJr! Posted March 9, 2012 Report Share Posted March 9, 2012 Beleza.Em algum momento o escopo está sendo trocado, por isso ele não enxerga as variáveis do escopo global. Quote Link to comment Share on other sites More sharing options...
0 Wanber Posted March 9, 2012 Author Report Share Posted March 9, 2012 Encontrei outro problema.A cada variavel que eu for usar no teste.php tenho que antes colocar global $nome_da_variavelcerto? Mais se eu for usar uma função? Tipo:no global.php tenho a classe core e users inclusasrequire_once "class.core.php"; require_once "class.users.php"; $core = new Core(); $users = new Users(); onde tem várias funçoes uma delas: public static function EscapeString($string = '') { return mysql_real_escape_string(stripslashes(trim(htmlspecialchars($string)))); } como faço pra usar as funções no teste.php ? $core->EscapeString(); Quote Link to comment Share on other sites More sharing options...
Question
Wanber
Como faço pra chamar um arquivo e não perder os valores da variáveis?
Explicando melhor:
Tenho as páginas index.php, global.php e teste.php
global.php contém todas variaveis globais que preciso, e é chamado em todas páginas do site da seguinte forma: include 'global.php';
no caso ele está sendo chamado no index.php
na mesma página index.php, chamo o arquivo teste.php (include 'teste.php';)
tenho a variavel $titulo = 'titulo'; no global.php
quando chamo a variavel (echo $titulo;) no index.php ela é exibida corretamente.
Mas quando chamo ela no teste.php tenho o erro de variável não definida (Notice: Undefined variable: titulo)
Como faço pra exibir variaveis do global.php no teste.php?
Edited by WanberLink to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.