• 締切済み

PHPのセッション変数について

ページの構成が代わり、A-B-Cと順番だったのをA-Cと変更しました。 AからCリンクにとぶように設定したのですが、リンクを変更していてもBのページに行ってしまいます。 このプログラムを作った人に聞きましたところ、 if{session("user_sbt") というセッション変数で、新しく作られた画面のところで何もセットしていなければ初めの画面(B)に戻るというプログラムが走っているそうです。作った人に直してもらえたら良いのですが、事情で日本にはいないので、わかる方教えてください。よろしくお願いします。 PHPファイルの上部には session_start(); require_once("../_common/head.php"); require_once("../_common/mysql.php"); というセッション変数が記入されています。

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

ファイルを開いて編集すれば良いのですが、今まで公開されている情報では何も答えられません。

s_used_c
質問者

補足

どういう情報を公開したら、どういう状況なのかわかるのですか?

回答No.1

>session_start(); >require_once("../_common/head.php"); >require_once("../_common/mysql.php"); はセッション変数ではありません。 require_once()はインクルード関数(外部スクリプト読込み)です。 おそらく、../_common/head.phpというファイルをちょちょっといじれば良いのだと思います。

s_used_c
質問者

補足

あれはセッション変数ではないんですね、知りませんでした。 ../_common/head.phpというファイルはありますが、どのようにちょちょっといじったら良いのですか??phpはまだ勉強していなくてぜんぜんわからないんです。。申し訳ないのですが、教えていただけませんか?

関連するQ&A

  • php session_start()

    いつもお世話になっております PHP session_start()について質問させていただきます。 ブラウザで確認すると以下のワーニングが表示されます。 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ファイル名) in ファイル名 過去の質問を参考にしてphpinfo()を使用してサーバの設定を確認したところ、Session Supportはenabledとなっております。 また、余分なスペースなどが無いよう、コードを1行にまとめて試してみましたが同じ結果でした。 コードは以下のとおりです。ちなみにサーバはレンタルサーバを使用しております。 ■index.php <?php  $documentroot = dirname( __FILE__) . '/';  require_once $documentroot . '../php_libs/config/config.inc.php';  require_once("Auth/Auth.php");  require_once("HTML/QuickForm.php");  require_once("HTML/QuickForm/Renderer/ArraySmarty.php");  require_once( _SMARTY_LIBS_DIR . "Smarty.class.php");  require_once( _MODULE_DIR . "build_screen.inc.php");  require_once( _MODULE_DIR . "menu.inc.php");  require_once( _MODULE_DIR . "MYDB.inc.php");  require_once( _MODULE_DIR . "sub.inc.php");  main(_MEMBER_FLG);  exit; ?> ■main関数 <?php  function main($systemflg){   // セッション名の設定   $sess_name = ($systemflg) ? _SYSTEM_SESSNAME : _MEMBER_SESSNAME;   session_name($sess_name);   // セッション開始   session_start(); ~以下省略~ どこに問題があるかお分かりの方いらっしゃいましたら、ご回答のほどよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpでSESSION変数の管理

    今私は、phpでページ間で変数をやり取りできる処理を作成しています。処理的には、ページAのテキストボックスtitleとテキストエリアsyosaiに入力された値をデータベースに追加し、ページBに画面を移動させるようにしたいと考えていますが、入力した値がnullになってしまい困っております。 ソースは以下のとおりです。 全部は書けませんので、怪しい部分だけ書きます。質問などがありましたら、その都度指摘をお願いします>△</ ページA ソース <form action="B.php" method="post"> <input type="text" name="title" value=""> <TEXTAREA name="syosai" cols="70" rows="10"> <input type="submit" name="b1" value="ページBへ"> <?php session_start(); if(!isset($_SESSION['title2']) || !isset($_SESSION['syosai2'])) { $_SESSION['title']=$_POST['title']; $_SESSION['syosai']=$_POST['syosai']; }else{} try{ $pdo = new PDO("mysql:host=localhost; dbname=****","****","****"); $stmt = $pdo->prepare("INSERT INTO user(clandername , syosai) VALUES(:rere3, :yuyu5)"); $stmt->bindValue(":rere3", $_SESSION['title']); $stmt->bindValue(":yuyu5", $_SESSION['syosai']); $stmt->execute(); }catch(PDOException $e){} ?> ページB ソース <form action="A.php"> <input type="submit" name="name" value="ページAへ" style="WIDTH: 70px; HEIGHT:50px"> <?php session_start(); ?> よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • セッションが動かない

    セッションがちゃんと動かない。 PHPのセッションがちゃんと動きません。 他のプログラムを同じ環境で動かしたところうまく動きましたので、 コードのほうに問題があると思います。 以下のようなコードを書いています <?php require_once '../function.php'; require_once '../config.php'; if (!($_SESSION['date'])) { session_start(); } connect_db() ?> <div id="comu_confirm"> <?php $now = new DateTime(); $date = $now->format('Y/m/d H:i:s'); $title = $_POST['title']; $contents = $_POST['contents']; if ($_SESSION['date']) { $_SESSION = array(); session_destroy(); }elseif($_POST) { } //test $_SESSION['title'] = $title; $_SESSION['contents'] = $contents; $_SESSION['date'] = $date; まず最初はelseifのほうのプログラムを動かして、session変数に値を入れます。 その後、もう一度このファイルに飛んで、二回目はsession変数が入っているので ifのほうに入って、ifの中の処理をするという形にしたかったのですがif文のほうの処理に行きません。 ちなみに、二回目に見たときはURLの欄にセッションIDは表示されていませんでした。 テストとして <?php require_once '../function.php'; require_once '../config.php'; if (!($_SESSION['date'])) { session_start(); } connect_db() ?> <div id="comu_confirm"> <?php $now = new DateTime(); $date = $now->format('Y/m/d H:i:s'); $title = $_POST['title']; $contents = $_POST['contents']; //test $_SESSION['title'] = $title; $_SESSION['contents'] = $contents; $_SESSION['date'] = $date; if ($_SESSION['date']) { $_SESSION = array(); session_destroy(); }elseif($_POST) { } としてみたところ、if文の処理は動いていました。 なにが悪いのでしょうか? 不足した情報がありましたら開示したいと思いますので教えていただければと思います。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPのセッション変数 絞り込み検索

    PHP Version 5.1.6 flash actionscript2.0 最初の検索条件をセッション変数['first']に保存し、 (GETにより、種別を判断しています。 ~~/index.php?kind=A&value=1という形) 絞込検索時(値はページ内のチェックボックスからPOSTで受け取り、hiddenタグで、type=newを受け取ります。)に 最初の検索条件をセッション変数['first']から取り出すようにしています。 また絞り込み検索時でなければ、とりあえずいったん保存用の セッション変数['first']を初期化しています。 ここで、ページ内にフラッシュのNEWというボタンがあり、その中に var kind = "new"; get_URL("http://~~/index.php", "_blank","GET"); とだけ記述して、ページへkind=newという検索種別を渡すように しているのですが、挙動がおかしくなる場合があります。 [正常な動きをする場合] 1、ページ内のNEWのフラッシュボタンを押す。 予想通りの最初の検索ができる。 (この時点で、セッション変数['first']に"new"が入っているのは 確認済みです。) 2、ページ内のチェックボックスで、絞込み検索をかける。 予想通り、最初の検索条件+絞り込み条件を加えた検索ができる。 [異常な動きをする場合] 1、ページ内のリンクから最初の検索をする。 (~/index.php?kind=A&value=1)を押す。 (この時点で、セッション変数['first']に"A"が入っているのは 確認済みです。) 2、ページ内のチェックボックスで、絞込み検索をかける。 予想通り、最初の検索条件+絞り込み条件を加えた検索ができる。 3、ページ内のフラッシュのNEWボタンを押す。 予想通り、再度別条件での検索ができる。 4、ページ内のチェックボックスで、絞込み検索をかける。 なぜか、セッション変数['first']に、"A"が入ったままになっている。 よって、2の検索に変わってしまう。 ただし、このフラッシュボタンからではなく、たとえば ~/index.php?kind=new というGETで送るタイプのリンクからでは、予想通りの動きをします。 このあたりの挙動につきまして、ご教授いただければ幸いです。 下記コードです。(処理に関係ない部分は省略しております。) session_start(); session_register("first"); //パラメータを受ける。 //絞込検索でなければ、セッション変数を初期化 if($_REQUEST['kind'] != "more") { unset($_SESSION['first']; } switch($_REQUEST['kind']){ case "A": $_SESSION['first']= "A"; break; case "new": $_SESSION['first']= "new"; break; //絞込み検索 case "more": break; }

    • 締切済み
    • PHP
  • AからBへセッション変数の受け渡し(ページ間の移動うまくできない)

    Aプログラム後半部分より //下記をセッション変数に登録 //$_SESSION[セッション変数名] = 値; $_SESSION[suid] = $uid; print "uid = ".$_SESSION[suid]. "<br>"; //確認してます //ページをadminpageに飛ばす ?><BR> <a href="adminpage.php">認証されました。管理者ページへ</a> </body> </html> Bプログラム前半部分/*管理者ページadminpage.php*/ session_start(); print "uid = ".$_SESSION[suid]. "<br>";//確認表示 // いきなりこのページにアクセスがあった場合 if( !$_SESSION[suid] ){ session_destroy(); header("Location: index.php"); exit; } ?> というプログラムですが、Bのプログラムの確認表示部分で"$_SESSION[suid]"が表示されません。Aプログラムでは表示されます。 プログラムの他の部分は個別に動作確認済みです。 エラーとして、ユーザーページの移動時(成功プログラム)に使った$_SESSION[suid]の値が表示されたりもします。原因を教えて下さい。

    • 締切済み
    • PHP
  • PHPのセッションについて

    PHPのセッションについてお尋ねします。 1ページ目でテキストボックスに値を入力させ、ポストで送信。 2ページ目でポストを受け取り、項目が正しく入力されているかチェック。 3ページ目でMySQLに書き込み というシステムを作りかけています。 2ページ目までは上手くできたのですが、2ページ目の変数を3ページ目で渡すところで滞っています。 ザッと調べてみるとセッションというのを駆使して変数の受け渡しができるようなのですが、このセッションの書き方がよくわかりません。 session_start()を入れてみましたが、次のページには引き継がれていませんでした。更に記述が必要なのでしょうか? お詳しい方、詳説または詳説ページの紹介をお願いします。

  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • セッション変数について

    48歳独学でプログラムを勉強しているものです。誰も教えてくれる人がいないので、教えてgooさんには大変お世話になっております。 現在PHPを使用して無料レンタルサーバーに会員画面を作ろうとしているのですが、一般的に無料レンタルサーバーでもセッション変数は使えるものなのでしょうか。どうも上手くセッション変数がフォルダに保存されません。無料レンタルサーバーでは不可なのでしょうか。 セッション保存先に「kaiintmp」というフォルダを作成しています。 そして、 session_start(); session_save_path("kaiintmp"); session_register("simei","pass"); $_SESSION[simei]=$simei; $_SESSION[pass]=$pass; のようにしていますが・・・。 自分のパソコンでは、セッション変数が作成されますがレンタルサーバーにUPしても作成されません。 レンタルサーバーにUPしたときのpathがダメなのでしょうか? レンタルサーバーでセッション変数を使用されている方おりましたら宜しくご教授お願いいたします。

    • ベストアンサー
    • PHP
  • phpのセッションについて質問です。

    今、for文を使ってsession変数に値を入れて行く処理を作っております。そのためにセッション配列を使おうと考えておりますが、使い方が分からないので教えてください。一応、自分なりに書いてみたのですが動きませんでした。処理的には、一つ目のfor文で値をsessionの配列に一つずつ入れていき、二つ目のfor文でその格納したのを表示するようにしたいです。 <?php session_start(); for($a=1;$a<10;$a++){ $_SESSION['no'][$a]=$a; } for($b=1;$b<10;$b++){ print("こんにちわ".$SESSION['no'][$b]); } ?> ご回答のほどをよろしくお願いします。

    • ベストアンサー
    • PHP
  • セッション変数のセキュリティ

    プログラム初心者です セッション変数の安全性について教えてください ログインしているかをセッション変数で判定しています。セッションidは使っていません 質問1 悪意をもったハッカーがセッション変数を取得することはできますか?それともセッション変数はクッキーと違い安全なんでしょうか? 質問2 セッション変数の保持時間は決まっていますか? session_start(); if(!isset($_SESSION['id'])){ header('Location: login.php'); exit(); } よろしくお願いします

    • ベストアンサー
    • PHP

専門家に質問してみよう