How to Pass Value from One PHP Page to Another Using Session

how to pass value from one php page to another using session

Use something like this:

page1.php

<?php
session_start();
$_SESSION['myValue']=3; // You can set the value however you like.
?>

Any other PHP page:

<?php
session_start();
echo $_SESSION['myValue'];
?>

A few notes to keep in mind though: You need to call session_start() BEFORE any output, HTML, echos - even whitespace.

You can keep changing the value in the session - but it will only be able to be used after the first page - meaning if you set it in page 1, you will not be able to use it until you get to another page or refresh the page.

The setting of the variable itself can be done in one of a number of ways:

$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];

And if you want to check if the variable is set before getting a potential error, use something like this:

if(!empty($_SESSION['myValue'])
{
echo $_SESSION['myValue'];
}
else
{
echo "Session not set yet.";
}

How to pass two value from one page to another in php, passing using session

Session will be available through out the application (in all pages) until you destroy it.

To set a session,

<?php
session_start();
$_SESSION['variable_name_1'] = "value_1"; // or $_POST['accountno_1'];
$_SESSION['variable_name_2'] = "value_2"; // or $_POST['accountno_2'];
?>

In the other page, to get the values

<?php
session_start();
echo $_SESSION['variable_name_1'];
echo $_SESSION['variable_name_2'];

?>

PHP Pass variable to next page

HTML / HTTP is stateless, in other words, what you did / saw on the previous page, is completely unconnected with the current page. Except if you use something like sessions, cookies or GET / POST variables. Sessions and cookies are quite easy to use, with session being by far more secure than cookies. More secure, but not completely secure.

Session:

//On page 1
$_SESSION['varname'] = $var_value;

//On page 2
$var_value = $_SESSION['varname'];

Remember to run the session_start(); statement on both these pages before you try to access the $_SESSION array, and also before any output is sent to the browser.

Cookie:

//One page 1
$_COOKIE['varname'] = $var_value;

//On page 2
$var_value = $_COOKIE['varname'];

The big difference between sessions and cookies is that the value of the variable will be stored on the server if you're using sessions, and on the client if you're using cookies. I can't think of any good reason to use cookies instead of sessions, except if you want data to persist between sessions, but even then it's perhaps better to store it in a DB, and retrieve it based on a username or id.

GET and POST

You can add the variable in the link to the next page:

<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>

This will create a GET variable.

Another way is to include a hidden field in a form that submits to page two:

<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>

And then on page two:

//Using GET
$var_value = $_GET['varname'];

//Using POST
$var_value = $_POST['varname'];

//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];

Just change the method for the form to post if you want to do it via post. Both are equally insecure, although GET is easier to hack.

The fact that each new request is, except for session data, a totally new instance of the script caught me when I first started coding in PHP. Once you get used to it, it's quite simple though.

Pass a variable value from one php page to another

Use session variables.

First of all every page you want to use sessions on needs to have the function session_start(); declared at the top of every page. You then can use the session superglobal to store things.

Pg1.php:
<?php
session_start();
$_SESSION['variable_name'] = 'string';
?>

Pg2.php:
<?php
session_start();
echo $_SESSION['variable_name'];
?>
Pg2.php will show: some string

Passing variables from one php file to another with sessions and resetting the session

Remove the include 'enter-content' on the 'content' page.

The include calls session_start(), that would be the second call on the same page.

How to pass variable to another page without include

Session is what you are looking for. A session variable can store a value and use this value on all pages of your project.
First thing to do is to start session on each file on your project. You can do this like this example

<?php
session_start(); //declare you are starting a session
$_SESSION['newspaper'] = "New York Times"; //Assign a value to the newspaper session
?>

On the other file you can use the value of the session by trying something like this

<?php
session_start(); //always start session don't forget!!
echo $_SESSION['newspaper'];
// This will echo New York Times
?>

Sending value from one page to another with php session

whenever you are need to check the session is start of not you should not check ist with $_SESSION you need to check the session_id() is generated or not (check the post for check the session start Check if PHP session has already started)

if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if(isset($_GET['B2'])) {
$_SESSION["info"] = "user-form";
$_SESSION["weight"] = $weight;
$_SESSION["price"] = $weight;
buy_now();
}

Passing data from one page to another using PHP Sessions

You are currently overwriting $_SESSION['listingID'] on each iteration on your loop, which means that it will always only contain the last item.

Instead of using sessions, you should use query strings.

Change the following row in your first file:

echo '<a href="lake_full.php?'.$listingID.'" class="image"><img style="width:100%;height:100%;" src="' . $image . '" /></a>';

to

echo '<a href="lake_full.php?listingID='.$listingID.'" class="image"><img style="width:100%;height:100%;" src="' . $image . '" /></a>';

Now on lake_full.php, instead of using sessions, you can now get the ID using the $_GET-super global:

if (!isset($_GET['listingID'])) {
// If we didn't get an ID, we can't continue, so stop the script
die('Invalid listing ID');
}

$listingID = $_GET['listingID'];

// ... the rest of the code...

Passing a variable from one page to another in php to dynamically populate Facebook open tags

Passing data using $_SESSION in PHP

Sessions follow a simple workflow. When a session is started, PHP will either retrieve an existing session using the ID passed (usually from a session cookie) or if no session is passed it will create a new session. PHP will populate the $_SESSION superglobal with any session data after the session has started.

See here: http://php.net/manual/en/session.examples.basic.php

Every time you want to store or retrieve data from your session you need to open the session. session_start();

So you need to use this in your controler.php:

<?php
session_start();
...

at the very top. This will start your session and now you can simply store your variables/data in the session you just started. To do so:

$_SESSION['var_name'] = "value";

or

$_SESSION['foo'] = bar;

On your next page you start all over again with:

<?php
session_start();
...

at the very top. An then you simply call the variable:

$new_page_var = $_SESSION['foo']; // contains now 'bar'

If you don't need the variable anymore you can follow this by:

unset($_SESSION['foo']);

and the variable will be deleted.

Once you're done and no session is needed anymore you also can detroy the session using: session_destroy(); - This will delete the session and all the stored data in there!

Hope this helps, cheers :)


With your example here:

<?php
session_start();
$_SESSION['clients']=$clients;
print_r ($_SESSION);
exit();
?>

You're missing $clients variable! Look here:

<?php
session_start();
$clients=array("foo", "bar");
$_SESSION['clients']=$clients;
print_r ($_SESSION);
exit();
?>

Cheers


More detailed solution

<?php
session_start();
$object1 = new stdClass();
$object1->client_id = 1;
$object1->name = 'Shikhar Dhawan';
$object1->content1 = 'Some content';

$object2 = new stdClass();
$object2->client_id = 2;
$object2->name = 'Florian Foo';
$object2->content1 = 'Bar some content';

$clients=array($object1, $object2);

$_SESSION['clients']=$clients;

foreach ($_SESSION['clients'] as $client) {
echo $client->name ." wrote:".$client->content1."\n";
}

exit();
?>

Which will output:

Shikhar Dhawan wrote:Some content
Florian Foo wrote:Bar some content

See here: https://ideone.com/CYDcVa

Cheers



Related Topics



Leave a reply



Submit