可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
When one page is accessed, I would like to start a session and store a session variable:
<?php
session_start();
$_SESSION[\'myvar\']=\'myvalue\';
?>
Then from another page, I would like to check if that session variable has been stored:
<?php
session_start();
echo(\"1\");
if(isset($_SESSION[\'myvar\']))
{
echo(\"2\");
if($_SESSION[\'myvar\'] == \'myvalue\')
{
echo(\"3\");
exit;
}
}
?>
This code does not work for me.
回答1:
Reasoning from the comments to this question, it appears a lack of an adjusted session.save_path causes this misbehavior of PHP’s session handler. Just specify a directory (outside your document root directory) that exists and is both readable and writeable by PHP to fix this.
回答2:
Sessions Step By Step
Defining session before everything, No output should be before that, NO OUTPUT
<?php
session_start();
?>
Set your session inside a page and then you have access in that page. For example this is page 1.php
<?php
//This is page 1 and then we will use session that defined from this page:
session_start();
$_SESSION[\'email\']=\'email@example.com\';
?>
Using and Getting session in 2.php
<?php
//In this page I am going to use session:
session_start();
if($_SESSION[\'email\']){
echo \'Your Email Is Here! :) \';
}
?>
NOTE: Comments don\'t have output.
回答3:
All you want to do is write --- session_start(); ----- on both pages..
<!-- first page -->
<?php
session_start();
$_SESSION[\'myvar\'] = \'hello\';
?>
<!-- second page -->
<?php
session_start();
echo $_SESSION[\'myvar\']; // it will print hello
?>
回答4:
In the possibility that the second page doesn\'t have shared access to the session cookie, you\'ll need to set the session cookie path using session_set_cookie_params:
<?php
session_set_cookie_params( $lifetime, \'/shared/path/to/files/\' );
session_start();
$_SESSION[\'myvar\']=\'myvalue\';
And
<?php
session_set_cookie_params( $lifetime, \'/shared/path/to/files/\' );
session_start();
echo(\"1\");
if(isset($_SESSION[\'myvar\']))
{
echo(\"2\");
if($_SESSION[\'myvar\'] == \'myvalue\')
{
echo(\"3\");
exit;
}
}
回答5:
Every time you start a session (applies to PHP version 5.2.54), session_start()
creates a new session id.
Here is the fix that worked for me.
File1.php
session_id(\'mySessionID\'); //SET id first before calling session start
session_start();
$name = \"Nitin Hurkadli\";
$_SESSION[\'username\'] = $name;
File2.php
session_id(\'mySessionID\');
session_start();
$name = $_SESSION[\'username\'];
echo \"Hello \" . $name;
回答6:
Starting a Session:
Put below code at the top of file.
<?php session_start();?>
Storing a session variable:
<?php $_SESSION[\'id\']=10; ?>
To Check if data stored in session variable:
<?php if(isset($_SESSION[\'id\']) && !empty(isset($_SESSION[\'id\'])))
echo “Session id “.$_SESSION[\'id\'].” exist”;
else
echo “Session not set “;?>
?>
detail here http://skillrow.com/sessions-in-php-4/
回答7:
Try this
First Page
<?php
session_start();
$_SESSION[\'myvar\']=\'myvalue\';
?>
Second page
<?php
session_start();
echo $_SESSION[\'myvar\'];
?>
回答8:
Try this:
<!-- first page -->
<?php
session_start();
session_register(\'myvar\');
$_SESSION[\'myvar\'] == \'myvalue\';
?>
<!-- second page -->
<?php
session_start();
echo(\"1\");
if(session_is_registered(\'myvar\'))
{
echo(\"2\");
if($_SESSION[\'myvar\'] == \'myvalue\')
{
echo(\"3\");
exit;
}
}
?>