1つのページにアクセスしたときに、セッションを開始してセッション変数を保存したいと思います。
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
次に、別のページから、そのセッション変数が保存されているかどうかを確認します。
<?php
session_start();
echo("1");
if(isset($_SESSION['myvar']))
{
echo("2");
if($_SESSION['myvar'] == 'myvalue')
{
echo("3");
exit;
}
}
?>
このコードは私には機能しません。
この質問へのコメントから推論すると、調整された session.save_path がないため、PHPのセッションハンドラのこの誤動作が発生します。 。これを修正するには、PHPによって、存在し、読み取りと書き込みの両方が可能なディレクトリ(ドキュメントルートディレクトリ外)を指定するだけです。
すべての前にセッションを定義します。その前に出力はありません、NO OUTPUT
<?php
session_start();
?>
セッションをページ内に設定すると、そのページにアクセスできます。たとえば、これはpage 1.phpです
<?php
//This is page 1 and then we will use session that defined from this page:
session_start();
$_SESSION['email']='[email protected]';
?>
2.phpでのセッションの使用と取得
<?php
//In this page I am going to use session:
session_start();
if($_SESSION['email']){
echo 'Your Email Is Here! :) ';
}
?>
[〜#〜] note [〜#〜]:コメントはしない出力があります。
やりたいことは--- session_start(); -----両方のページに..
<!-- first page -->
<?php
session_start();
$_SESSION['myvar'] = 'hello';
?>
<!-- second page -->
<?php
session_start();
echo $_SESSION['myvar']; // it will print hello
?>
2番目のページがセッションCookieへの共有アクセス権を持っていない可能性がある場合、 session_set_cookie_params を使用してセッションCookieパスを設定する必要があります。
<?php
session_set_cookie_params( $lifetime, '/shared/path/to/files/' );
session_start();
$_SESSION['myvar']='myvalue';
そして
<?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;
}
}
これを試して
一ページ目
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
2ページ目
<?php
session_start();
echo $_SESSION['myvar'];
?>