2

私はphpセッションを作成し、そのようにデータを割り当てました

session_start();
$_SESSION['desd']=$imgD;

他のページで取得しようとすると、何も得られません。

これは私が2番目のページで行ったことです。

session_start();
$_imgname = $_SESSION['desd'];

どうやってするか?

4

2 に答える 2

4

$imgD変数が定義されていると仮定すると、コードは有効です(var_dumpこれは、これをチェックする1つの方法ですがprintecho機能する場合もあります)。

ブラウザでCookieが有効になっていることを確認してください。

また、session_start()がスクリプトの先頭近くにあることを確認してください。これは、毎回クライアントに送信される最初のものである必要があります。

セッションをテストするには、次のコードで「index.php」を作成します。

<?php
  session_start();  
  if(isset($_SESSION['views']))
      $_SESSION['views'] = $_SESSION['views']+ 1;
  else
      $_SESSION['views'] = 1;

  echo "views = " . $_SESSION['views']; 
?>

ページを数回リロードすると、増加する数字が表示されます。

2つのページ間でセッション変数を渡す例は次のとおりです。

PageOne.php

 <?php 
   session_start(); 

   // makes an array 
   $colors=array('red', 'yellow', 'blue'); 
   // adds it to our session 
   $_SESSION['color']=$colors; 
   $_SESSION['size']='small'; 
   $_SESSION['shape']='round'; 
   print "Done";
 ?> 

PageTwo.php

<?php 
 session_start(); 
 print_r ($_SESSION);
 echo "<p>";

 //echo a single entry from the array
 echo $_SESSION['color'][2];
?>

簡単にするために、PageOne.phpとPageTwo.phpを同じディレクトリに配置します。PageOne.phpを呼び出してから、PageTwo.phpを呼び出します。

ここここ、およびここのチュートリアルも試してください。

于 2012-09-20T14:10:05.517 に答える
1

を呼び出すsession_start()と、サーバーは Cookie からセッション ID を取得します。

コードが有効であるため、Cookie に問題がある可能性があります。

于 2012-09-20T14:13:32.863 に答える