php会话变量不一致

php会话变量不一致,php,session,variables,persistent,Php,Session,Variables,Persistent,我有一个php表单(称为Home.php),在提交(methodpost)时,我在一个单独的php脚本(称为Validate.php)中验证信息 验证后,会话变量将在Validate.php中初始化/设置。 设置好这些变量后,我将使用validate页面中的header('Location:home.php')重定向回home.php页面 所有这些工作都非常完美,我可以访问会话变量并将其显示在home.php页面上,但只要我点击refresh,变量值就消失了。即使我没有刷新home.php,如果

我有一个php表单(称为Home.php),在提交(methodpost)时,我在一个单独的php脚本(称为Validate.php)中验证信息

验证后,会话变量将在Validate.php中初始化/设置。 设置好这些变量后,我将使用validate页面中的header('Location:home.php')重定向回home.php页面

所有这些工作都非常完美,我可以访问会话变量并将其显示在home.php页面上,但只要我点击refresh,变量值就消失了。即使我没有刷新home.php,如果我转到服务器上的另一个页面并尝试访问会话变量,它们也是空的/未设置

几点: 我在所有页面和最开始都有Session_Start()。 会话保存路径配置值是/tmp,这似乎不是问题所在,因为我可以像上面提到的那样在第一次尝试时设置和检索会话值

我搜索了Stackoverflow和google,但什么也没找到。你是我最后的选择。希望有人能帮我

提前谢谢

Home.php:

<?php session_start();
  echo '<!DOCTYPE html>';
?>

And some HTML CODE HERE FOR DISPLAYING THE PAGE....


if (!isset($_SESSION['dbuserNm'])) {
echo


'<li class="dropdown">
                <a href="#" class="dropdown-toggle hvr-bounce-to-right" data-toggle="modal" role="button" aria-haspopup="true" aria-expanded="false" data-target="#LogInModal" onclick="KillSession()"><b>Log In</b><span class="caret"></span></a>
            </li>

            <!-- Modal -->
                        <div class="modal fade" id="LogInModal" tabindex="-1" role="dialog"
                             aria-labelledby="myModalLabel" aria-hidden="true">
                            <div class="modal-dialog">
                                <div class="modal-content">
                                    <!-- Modal Header -->
                                    <div class="modal-header">
                                        <button type="button" class="close"
                                           data-dismiss="modal">
                                               <span aria-hidden="true">&times;</span>
                                               <span class="sr-only">Close</span>
                                        </button>
                                        <h4 class="modal-title" id="myModalLabel">
                                            Authentication
                                        </h4>
                                    </div>

                                    <!-- Modal Body -->
                                    <div class="modal-body">

                                        <form class="form-horizontal" role="form" action="Validate.php" method="POST">
                                          <div class="form-group">
                                            <label  class="col-sm-2 control-label"
                                                      for="inptUserID">User ID</label>
                                            <div class="col-sm-10">
                                                <input type="UserID" class="form-control"
                                                id="inptUserID" name="inptUserID" placeholder="User ID"/>
                                            </div>
                                          </div>
                                          <div class="form-group">
                                            <label class="col-sm-2 control-label"
                                                  for="inputPassword3" >Password</label>
                                            <div class="col-sm-10">
                                                <input type="password" class="form-control"
                                                    id="inptPsswd" name="inptPsswd" placeholder="Password"/>
                                            </div>
                                          </div>
                                          <div class="form-group">
                            <!--  <div class="form-group">
                                    <div class="col-sm-offset-2 col-sm-10">
                                      <div class="checkbox">
                                        <label>
                                            <input type="checkbox"/>';
                                              if ($_SESSION['ValidLogInSw'] = 0) {
                                                 echo "Invalid UserID/Password, Please Re-try";
                                              } else {
                                                echo '<script type="text/javascript"> $(this).dialog("close");</script>';
                                              }
                                        echo
                                        '</label>
                                      </div>
                                    </div>
                                  </div>
                                          </div> -->
                                          <div class="form-group">
                                            <div class="col-sm-offset-2 col-sm-10">
                                              <button type="submit" class="btn btn-default">Sign in</button>
                                            </div>
                                          </div>
                                        </form>

                                    </div>

                                    <!-- Modal Footer -->
                                    <div class="modal-footer">
                                        <button type="button" class="btn btn-default"
                                                data-dismiss="modal">
                                                    Close
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </div>';
        } else {
            echo '<li class="dropdown">
                <a href="#" class="dropdown-toggle hvr-bounce-to-right" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><b>'. $_SESSION['dbuserNm']. '\'s Account</b><span class="caret"></span></a>
                <ul class="dropdown-menu">
                <li><a href="#" class="hvr-bounce-to-right">Account Management</a></li>
                <li><a href="#" class="hvr-bounce-to-right">Stats1</a></li>
                <li><a href="#" class="hvr-bounce-to-right">Stats2</a></li>
                </ul>
            </li>';
        }
    ?>
Validate.php:

    <?PHP
session_start();
  //header('Location: ' . $_SERVER['HTTP_REFERER']);

    header('Location: Home.php');

    if (isset($_POST["inptUserID"]) && !empty($_POST["inptUserID"])){

        //*echo 'Its Definitely Here';

        $lclidpw = $_POST['inptUserID'];

        $id = $_POST['inptUserID'];
        $pw = $_POST['inptPsswd'];

        $Cnxn = mysql_connect("localhost:portnumber", "UserID", "Psswd");//format is id||pw;

        if($Cnxn){

         mysql_select_db('DatabaseNameHere');

         $Qry = "SELECT CONCAT(CAST(a.UserId AS CHAR), '||' ,TRIM(u.User_FName)) FROM TableNameHere u INNER JOIN UsrAuth a ON a.UserId = u.UserId WHERE a.UserName = TRIM('" . $id ."') AND a.Psswd =  TRIM('" .$pw . "');" ;

         $Results = mysql_query($Qry) or die('Sql Error...'.mysql_error());

             if(mysql_num_rows($Results) > 0){

                 //echo 'Its here';
                //echo $Qry;

                //All this is new:

                $Rslt_for_Session = mysql_result($Results,0);

                $_SESSION['dbuserId'] = substr($Rslt_for_Session,0, strpos($Rslt_for_Session, '||'));
                $_SESSION['dbuserNm'] = substr($Rslt_for_Session, strpos($Rslt_for_Session ,'||')+2,strlen($Rslt_for_Session)-strpos($Rslt_for_Session ,'||')+1);
                $_SESSION['TimeSet'] = time();
                $_SESSION['ValidLogInSw'] = 1;

                //echo $_SESSION['dbuserNm'];

             }
             else{

                $_SESSION['ValidLogInSw'] = 0;


             }

        }
        else{
         echo '*Connection Error...please try later';
        }

    }

?>

这里还有一些HTML代码用于显示页面。。。。
if(!isset($\u会话['dbuserNm'])){
回声
“
  • &时代; 接近 认证 用户ID 密码 登录 接近 '; }否则{ echo'
  • '; } ?>
    Validate.php

    <?php session_start();
      echo '<!DOCTYPE html>';
    ?>
    
    And some HTML CODE HERE FOR DISPLAYING THE PAGE....
    
    
    if (!isset($_SESSION['dbuserNm'])) {
    echo
    
    
    '<li class="dropdown">
                    <a href="#" class="dropdown-toggle hvr-bounce-to-right" data-toggle="modal" role="button" aria-haspopup="true" aria-expanded="false" data-target="#LogInModal" onclick="KillSession()"><b>Log In</b><span class="caret"></span></a>
                </li>
    
                <!-- Modal -->
                            <div class="modal fade" id="LogInModal" tabindex="-1" role="dialog"
                                 aria-labelledby="myModalLabel" aria-hidden="true">
                                <div class="modal-dialog">
                                    <div class="modal-content">
                                        <!-- Modal Header -->
                                        <div class="modal-header">
                                            <button type="button" class="close"
                                               data-dismiss="modal">
                                                   <span aria-hidden="true">&times;</span>
                                                   <span class="sr-only">Close</span>
                                            </button>
                                            <h4 class="modal-title" id="myModalLabel">
                                                Authentication
                                            </h4>
                                        </div>
    
                                        <!-- Modal Body -->
                                        <div class="modal-body">
    
                                            <form class="form-horizontal" role="form" action="Validate.php" method="POST">
                                              <div class="form-group">
                                                <label  class="col-sm-2 control-label"
                                                          for="inptUserID">User ID</label>
                                                <div class="col-sm-10">
                                                    <input type="UserID" class="form-control"
                                                    id="inptUserID" name="inptUserID" placeholder="User ID"/>
                                                </div>
                                              </div>
                                              <div class="form-group">
                                                <label class="col-sm-2 control-label"
                                                      for="inputPassword3" >Password</label>
                                                <div class="col-sm-10">
                                                    <input type="password" class="form-control"
                                                        id="inptPsswd" name="inptPsswd" placeholder="Password"/>
                                                </div>
                                              </div>
                                              <div class="form-group">
                                <!--  <div class="form-group">
                                        <div class="col-sm-offset-2 col-sm-10">
                                          <div class="checkbox">
                                            <label>
                                                <input type="checkbox"/>';
                                                  if ($_SESSION['ValidLogInSw'] = 0) {
                                                     echo "Invalid UserID/Password, Please Re-try";
                                                  } else {
                                                    echo '<script type="text/javascript"> $(this).dialog("close");</script>';
                                                  }
                                            echo
                                            '</label>
                                          </div>
                                        </div>
                                      </div>
                                              </div> -->
                                              <div class="form-group">
                                                <div class="col-sm-offset-2 col-sm-10">
                                                  <button type="submit" class="btn btn-default">Sign in</button>
                                                </div>
                                              </div>
                                            </form>
    
                                        </div>
    
                                        <!-- Modal Footer -->
                                        <div class="modal-footer">
                                            <button type="button" class="btn btn-default"
                                                    data-dismiss="modal">
                                                        Close
                                            </button>
                                        </div>
                                    </div>
                                </div>
                            </div>';
            } else {
                echo '<li class="dropdown">
                    <a href="#" class="dropdown-toggle hvr-bounce-to-right" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><b>'. $_SESSION['dbuserNm']. '\'s Account</b><span class="caret"></span></a>
                    <ul class="dropdown-menu">
                    <li><a href="#" class="hvr-bounce-to-right">Account Management</a></li>
                    <li><a href="#" class="hvr-bounce-to-right">Stats1</a></li>
                    <li><a href="#" class="hvr-bounce-to-right">Stats2</a></li>
                    </ul>
                </li>';
            }
        ?>
    
    Validate.php:
    
        <?PHP
    session_start();
      //header('Location: ' . $_SERVER['HTTP_REFERER']);
    
        header('Location: Home.php');
    
        if (isset($_POST["inptUserID"]) && !empty($_POST["inptUserID"])){
    
            //*echo 'Its Definitely Here';
    
            $lclidpw = $_POST['inptUserID'];
    
            $id = $_POST['inptUserID'];
            $pw = $_POST['inptPsswd'];
    
            $Cnxn = mysql_connect("localhost:portnumber", "UserID", "Psswd");//format is id||pw;
    
            if($Cnxn){
    
             mysql_select_db('DatabaseNameHere');
    
             $Qry = "SELECT CONCAT(CAST(a.UserId AS CHAR), '||' ,TRIM(u.User_FName)) FROM TableNameHere u INNER JOIN UsrAuth a ON a.UserId = u.UserId WHERE a.UserName = TRIM('" . $id ."') AND a.Psswd =  TRIM('" .$pw . "');" ;
    
             $Results = mysql_query($Qry) or die('Sql Error...'.mysql_error());
    
                 if(mysql_num_rows($Results) > 0){
    
                     //echo 'Its here';
                    //echo $Qry;
    
                    //All this is new:
    
                    $Rslt_for_Session = mysql_result($Results,0);
    
                    $_SESSION['dbuserId'] = substr($Rslt_for_Session,0, strpos($Rslt_for_Session, '||'));
                    $_SESSION['dbuserNm'] = substr($Rslt_for_Session, strpos($Rslt_for_Session ,'||')+2,strlen($Rslt_for_Session)-strpos($Rslt_for_Session ,'||')+1);
                    $_SESSION['TimeSet'] = time();
                    $_SESSION['ValidLogInSw'] = 1;
    
                    //echo $_SESSION['dbuserNm'];
    
                 }
                 else{
    
                    $_SESSION['ValidLogInSw'] = 0;
    
    
                 }
    
            }
            else{
             echo '*Connection Error...please try later';
            }
    
        }
    
    ?>
    
    Validate.php:
    
    好的…这是我在我的代码中找到的,一旦我把它发布到这里。Home.php中的代码中有一个会话破坏,这就是造成这些恶作剧的原因

    我删除了Session_Destroy()和Onclick事件,所有这些都可以完美地工作,就像它设计的那样


    谢谢迈克和丹的时间。

    你得把裙子抬起来,给我们看一些代码……你能添加一些代码吗?……哈……“抬裙子”……我刚提过……希望能有所帮助。谢谢