我对这个变量"admin_user_id"有问题。。我想在一个函数中设置var的值,并在其他函数中使用该var值。。但问题是它给出了null。我认为这是该类的差异引用的bcz。。
class ChangeRequestProcessController extends AppController{
static $admin_user_id;
public function ajax_list_of_change_request(){
$this->autoRender = false;
$params = array();
$params[] = $this->Auth->user('id');
//debug($params);
$result = $this->AppProcess->callProcedure('ListOfChangeRequestProcess', $params);
//echo("here:"+$result);
$admin_user_id=$params[0];
//debug( $this->admin_user_id);
echo json_encode($result);
}
public function application_attachment_upload_with_title() {
$this->autoRender = FALSE;
$attachment_array[]=$this->admin_user_id;///p_admin_user_id
//$attachment_array[]="name";///p_uploaded_by
$attachment_array[]=$_POST['title'];///p_attachment_title
// $attachment_array[] = $loged_on_id;
//$attachment_array[] = $_FILES[0]['name'];
//$attachment_array[] = $_POST['title'];
debug($attachment_array);
$result = $application->AttachmentTemp->callProcedure('ChangeRequestAttachmentFinalAddWithTitle', $attachment_array);///call procedure
echo json_encode($result);///result
}
如何在php中解决这个问题,使值保持不变(我认为静态var会解决这个问题……但它也会在函数内部给出未定义的var错误)???提前感谢
(这不适合评论框,所以我开始…)
假设
// your code to get this...
$admin_user_id = $params[0];
您可以使用以下方法将其存储在会话中:
if(!session_id()){
session_start();
}
$_SESSION['admin_user_id'] = $admin_user_id; // again, assuming this is the value!
要读取它(在您的第二个调用/方法中),只需执行:
if(!session_id()){
session_start();
}
$admin_user_id = $_SESSION['admin_user_id'];
有关更多信息,请参阅php.net:sessions和$_SESSION