0

我使用 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 个有任何想法,如果这是问题所在,或者知道为什么会发生这种情况......

$_SESSION['user_login']明确一点:我想知道为什么我的页面在加载页面时找不到设置。也感谢任何建议或任何形式的帮助。

谢谢阅读。

4

0 回答 0