Php 传递并作用于多个json编码字符串

Php 传递并作用于多个json编码字符串,php,javascript,jquery,json,codeigniter,Php,Javascript,Jquery,Json,Codeigniter,您应该收集所有数据,并在最后将其作为单个JSON字符串输出。例如: public function logsig() { header('Content-type:application/json'); $postedEmail = $this->input->post('username'); $password = $this->input->post('password'); $hashedPass = $this->encry

您应该收集所有数据,并在最后将其作为单个JSON字符串输出。例如:

public function logsig() {
    header('Content-type:application/json');
    $postedEmail = $this->input->post('username');
    $password = $this->input->post('password');
    $hashedPass = $this->encrypt->sha1($password);
    $query = $this->db->query("SELECT * FROM users WHERE username = '{$postedEmail}' AND password = '{$password}'");
    if ($query->num_rows() > 0) { // if user is already registered and is logging in, execute the following sql/php commands.
        $row = $query->row();
        if ($row->status == "pending") {
            echo json_encode(array('pending' => true));
        } else {
            echo json_encode(array('pending' => false));
        }
        //$this->session->set_userdata('userid', $idgen);
        //$this->session->set_userdata('email',  $postedEmail);
        $this->session->set_userdata('logged', "1"); // 1 means user is logged in.
        echo json_encode(array('session_state' => true));
    } else {
        echo json_encode(array('session_state' => false)); // false sends to jquery that member isn't registered
    }
}
或者在这种情况下更好(优化的真实分支):


jQuery代码不会改变。您仍然在检查
数据。会话状态
数据。挂起
。我的意思是,我是说我要单独进行ajax调用还是类似的调用?
public function logsig() {
    header('Content-type:application/json');
    $postedEmail = $this->input->post('username');
    $password = $this->input->post('password');
    $hashedPass = $this->encrypt->sha1($password);
    $query = $this->db->query("SELECT * FROM users WHERE username = '{$postedEmail}' AND password = '{$password}'");
    if ($query->num_rows() > 0) { // if user is already registered and is logging in, execute the following sql/php commands.
        $row = $query->row();
        if ($row->status == "pending") {
            echo json_encode(array('pending' => true));
        } else {
            echo json_encode(array('pending' => false));
        }
        //$this->session->set_userdata('userid', $idgen);
        //$this->session->set_userdata('email',  $postedEmail);
        $this->session->set_userdata('logged', "1"); // 1 means user is logged in.
        echo json_encode(array('session_state' => true));
    } else {
        echo json_encode(array('session_state' => false)); // false sends to jquery that member isn't registered
    }
}
$output= array();

if ($query->num_rows() > 0) {
    $row = $query->row();

    // Status flag
    $output['pending'] = $row->status == "pending";

    $this->session->set_userdata('logged', "1"); // 1 means user is logged in.

    // Session state
    $output['session_state'] = true;
}
else {
    $output['session_state'] = false;
}

header('Content-type: application/json');
die(json_encode($output));
$row = $query->row();
$this->session->set_userdata('logged', "1"); // 1 means user is logged in.

// Session state
$output = array(
    'pending'       = $row->status == "pending",
    'session_state' = false
);