2016-07-31 13 views
-2

Ich habe eine Clientseite mit PHP, die dann auf eine Wordpress-Seite geht. Die Sitzung auf der Clientseite wird beibehalten, aber wenn ich eine neue Seite aus Wordpress lade, ist die Sitzung leer. Warum speichert Wordpress meine Sitzungsdaten nicht wie meine Clientseite?Verwenden von Sitzungen auf Wordpress-Site

Dieser Code ist auf der Login-Seite:

my_session_register('user_id'); 
$_SESSION['user_id']=$user_id; 
header('Location: booking_user.php'); 

Dieser Code überprüft die Sitzung in Wordpress:

if (!my_session_is_registered('user_id')) { 
    header('Location: login.php'); 
} 

Ich weiß nur nicht, wie die Sitzung zu Wordpress beharren.

Antwort

0

Sie haben vergessen, session_start() hinzuzufügen, die Probleme verursachen könnten.

Wenn Sie $_SESSION es verwenden werden müssen session_start()

Erfahren Sie mehr über sie: Here

0

Sie haben session_start(); u Sitzung verwenden, um auf jeder Seite hinzuzufügen, oder alternativ in einer Datei speichern und schließen jedes Mal.

0

Obwohl ich das gleiche wie die anderen zwei Antworten antworte, werde ich Ihnen sagen, warum. Wordpress ist statesless so standardmäßig können Sie nicht Daten von Seite zu Seite mit $_SESSION schieben. Deshalb müssen Sie session_start() auf der Wordpress-Website hinzufügen. Sie können das session_start() in einen init Haken in Wordpress werfen:

// You may just be able to write this 
add_action('init', 'session_start'); 

Wenn die oben nicht funktioniert (ich sehe nicht, warum es würde nicht):

// You can add your own function as a wrapper 
add_action('init', 'startCustomSession'); 

function startCustomSession() 
    { 
     session_start(); 
    }