会话不能第一次工作(需要解释)

时间:2017-08-18 05:04:31

标签: php session session-variables

你好我看到很多问题,比如Session没有第一次工作。但是在这个问题上看不出任何好的解释,为什么第一次也没有在会话期间发生的事情。我也像其他人第一次不工作后,工作正常。

这是会话的php。

session_start();

$PersonName=$_GET['PersonName'];
$SurName=$_GET['SurName'];
$TestXML=$_GET['TestXML'];
$TestDate=$_GET['TestDate'];
$TestPkID='0000000000000000000000000000';
include('DBConnect.php');

    $proc = "{call p_set_Test(?,?,?,?,?,?,?,?,?)}";   
    $params = array(array($TestDate,SQLSRV_PARAM_IN),
                    array(0,SQLSRV_PARAM_IN),
                    array($PersonName,SQLSRV_PARAM_IN),
                    array($SurName,SQLSRV_PARAM_IN),
                    array($TestXML,SQLSRV_PARAM_IN),
                    array('',SQLSRV_PARAM_IN),
                    array(101,SQLSRV_PARAM_IN),
                    array(10,SQLSRV_PARAM_IN),
                    array($TestPkID, SQLSRV_PARAM_OUT)  
                   );       
    $result = sqlsrv_query( $conn, $proc, $params); 
    if( $result === false )  
    {  
         echo "Error in executing statement 3.\n";  
         die( print_r( sqlsrv_errors(), true));  
         $message2 = "aldaatai";
            echo "<script type='text/javascript'>alert('$message2 ' + $TestPkID);</script>";
    } 

    $_SESSION['idpktestsession'] = $_POST["idpktest"] = $TestPkID;
    $_SESSION['persontestname'] =$_POST['persontrollname'] = $PersonName;
    $_SESSION['persontestlastname'] =$_POST['persontrolllastname'] = $SurName;

这是从会话值中获取值

<?php include('DBConnect.php'); 
session_start();
    $diskuserid = $_SESSION['idpktestsession'];
    $diskusername = $_SESSION['persontestname'];
    $diskuserlastname = $_SESSION['persontestlastname'];
    $diskuserlastname = mb_substr($diskuserlastname, 0, 1);


    ?>
<?php   

                $proc = "{call p_rpt_Pattern(?,?)}";   
                $params = array($diskuserid,'M');  
                $procarr = array();
                $result = sqlsrv_query( $conn, $proc, $params);             
                while ($row = sqlsrv_fetch_array($result))
                {?>
                    <tr>
                        <td><?php echo $row['PatternCode']?></td>
                        <td><i class="fa fa-chevron-right rightarrow" > </i></td>
                        <td><?php echo $row['PatternDesc']?></td>
                    </tr>
            <?php
                }
            ?>  

2 个答案:

答案 0 :(得分:0)

这句话写得不正确:

$_SESSION['idpktestsession'] = $_POST['idpktest'] = $TestPkID;

如果要分配值,可以像上面这样重写上面的语句

$_SESSION['idpktestsession'] = $_POST['idpktest'];

如果你想连接两个值,你可以像这样重写

$_SESSION['idpktestsession'] = $_POST['idpktest'] . ','. $TestPkID;

答案 1 :(得分:0)

只要这个问题没有得到解答,我发现为什么它不能第一次工作。 每次它发送会话到另一个带有值的php时,它会在页面加载后发送值,所以如果你有些面对这个错误只是在页面加载之前分配值或者放入中间加载php insteand显示直接。