user2688512
user2688512

Reputation: 161

How to access a variable across two files

I have three files - global.php, test.php, test1.php

Global.php

$filename;
$filename = "test";

test.php

$filename = "myfile.jpg";
echo $filename;

test1.php

echo $filename;

I can read this variable from both test and test1 files by include 'global.php';

Now i want to set the value of $filename in test.php and the same value i want to read in test1.php.

I tried with session variables as well but due to two different files i am not able to capture the variable.

How to achieve this........

Thanks for help in advance.....

Upvotes: 15

Views: 48131

Answers (3)

Víctor
Víctor

Reputation: 533

I think the best way to understand this is as following:
You have one file index.php whit some variable defined.

$indexVar = 'sometext';

This variable is visible on all index.php file. But like a function, if you include other files, the variable will not be visible unless you specify that this variable has scope global.

You should redefine the scope of this variable in your new file, like this:

global $indexVar;

Then you will be able to acess directly by calling it as you were in your main file. You could use an "echo" in both files, index.php and any other file.

Upvotes: 3

MD SHAHIDUL ISLAM
MD SHAHIDUL ISLAM

Reputation: 14523

Use:

global.php

<?php
if(!session_id()) session_start();
$filename = "test";
if(!isset($_SESSION['filename'])) {
    $_SESSION['filename'] = $filename;
}
?>

test.php

<?php
if(!session_id()) session_start();
//include("global.php");
$_SESSION['filename'] = "new value";
?>

test1.php

<?php
if(!session_id()) session_start();
$filename = $_SESSION['filename'];
echo $filename; //output new value
?>

Upvotes: 12

Padmanathan J
Padmanathan J

Reputation: 4620

First you start session at the top of the page.

Assign your variable into your session.

Check this and Try it your self

test.php

<?php
session_start(); // session start
include("global.php");
$filename = "myfile.jpg";
$_SESSION['samplename']=$filename ; // Session Set
?>

test1.php

<?php
session_start(); // session start
$getvalue = $_SESSION['samplename']; // session get
echo $getvalue;
?>

Upvotes: 2

Related Questions