脚本不会获得会话变量

时间:2013-04-15 07:51:29

标签: php wordpress session

我使用WordPress创建了一个网站,在一个页面上我已经包含了我自己的脚本,以指导用户完成一系列计算结果的步骤。脚本包含在此顺序中

主页 - >包括我的Wizard.php - > Wizard.php包含了Wizard_Step_xx.php

每次从Step_01到Step_10.php,向导重新加载新的步骤,这是由jQuery脚本完成的。

现在我的问题是,无论何时用户完成此“向导”,他都可以选择登录并重定向到他自己的页面。现在,当用户单击链接以转到“向导”时,我想显示用户个人页面,而不是向他显示通常会发生的向导的第一步。

我创建了这个简单的脚本,在用户登录时设置$_SESSION变量:

//Validate Log In
if(isset($_POST['Validate'])) //submit login button
{
   $inlog_naam = ( $_POST['inlognaam'] );
   $wachtwoord = ( $_POST['wachtwoord'] );

   $try        = mysql_query("SELECT * FROM xxxx WHERE username = '$inlog_naam' AND password = '$wachtwoord'") or die (mysql_error() );
   $result     = mysql_num_rows($try);

   if($result == 0)
   {
      $page = ( 8 );
      $_SESSION['Invalid_Login_1']    = ( "true" );
   }

   else
   {
      $_SESSION['Invalid_Login_1']    = ( "false" );
      $user_info                      = mysql_query("SELECT * FROM xxxxx WHERE username = '$inlog_naam' AND password = '$wachtwoord'") or die ( mysql_error() );
      $user_info_result               = mysql_fetch_array($user_info, MYSQLI_BOTH);

      $user_lastname                  = ( $user_info_result['contact_Achternaam'] );
      $user_id                        = ( $user_info_result['user_id'] );
      $_SESSION['user_id_1']          = ( $user_id );
      $_SESSION['user_name']          = ( $inlog_naam );
      $_SESSION['user_lastname']      = ( $user_lastname );
      $session_id                     = ( session_id() );
      mysql_query("UPDATE xxxxx SET user_id = '$user_id', user_username = '$inlog_naam', user_lastname = '$user_lastname' WHERE session_id = '$session_id'") or die (mysql_error() );

      $page                           = ( 9 );

      $_SESSION['user_login']         = ( "true" );
      $_SESSION['user_main_screen']   = ( "true" );

  }

现在脚本的这部分工作正常,并且$_SESSION变量已设置。 但是当我点击链接再次转到向导时,我在Wizard.php文件中得到了这个脚本,以显示用户个人页面而不是通常会发生的Wizard_Step_01.php。

if(isset($_SESSION['user_login']) && $_SESSION['user_login'] == 'true')
{
   $page = 9;
}

else
{
   echo $_SESSION['user_login'];
}

此脚本似乎没有看到$_SESSION变量,但是当我单击此页面上的下一步以转到Wizard_Step_02.php时,它会识别它。

我也注意到,出于某种原因,我的网站正在运行2 PHPSESSID ,我想我会通过这样做来阻止这种情况:

<?php if(!isset( $_SESSION )) { session_start(); } ?>

但由于某种原因,它仍会创建第二个 PHPSESSID

如果有人知道如何禁用/删除/取消设置2 PHPSESSID 中的1个,如果这就是问题所在,或者知道为什么会发生这种情况.... < / p>

要明确:我想知道为什么在加载页面时我的页面找不到设置的$_SESSION['user_login']。此外,任何建议或任何形式的帮助表示赞赏。

感谢阅读。

0 个答案:

没有答案