I am new to write a plugin ..I am having a testplugin.php file and a ajax.php file ..
My code in testplugin.php is
JavaScript
x
global $session;
print_r($abc); //$abc is array of my data ..
$session['arrayImg']=$abc; //saving data in session
echo $session['arrayImg']; //displayin "Array"
And my ajax.php consists of following code
JavaScript
global $session;
$abc = $session['arrayImg'];
print_r ("abs== ".$abc); //displayin "abs== Array"
And if use session_start();
I get following error
JavaScript
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
I just want to send array of data from one file of my plugin to another file …
Advertisement
Answer
Add following on your plugin or themes functions.php
file
JavaScript
function wpse16119876_init_session() {
if ( ! session_id() ) {
session_start();
}
}
// Start session on init hook.
add_action( 'init', 'wpse16119876_init_session' );
Next, to add data in SESSION
–
JavaScript
// If session has started, this data will be stored.
$_SESSION['arrayImg'] = $abc;
To get the data on ajax hooked function –
JavaScript
// handle the ajax request
function wpse16119876_handle_ajax_request() {
if ( ! session_id() ) {
session_start();
}
if ( array_key_exists( 'arrayImg', $_SESSION ) ) {
$abc = $_SESSION['arrayImg'];
} else {
$abc = 'NOT IN SESSION DATA';
}
// Do something with $abc
}