2013-11-27 2 views
0

я использую nodejs сделать запрос на сервер Apache в определенном состоянии, то выполнить функцию PHP, связанную с этим запросомОшибка при отправке запроса GET с использованием nodejs для Apache

запрос GET в nodejs (server.js)

var options = { 
     host: 'localhost', 
     port: 80, 
     path: '/myapp/users/logout', 
     method: 'GET', 
     headers: { 
      'Content-Type': 'application/x-www-form-urlencoded', 
     } 
    }; 

    var req = http.get(options, function(res){ 
    res.setEncoding('utf8'); 
    console.log('STATUS: ' + res.statusCode); 
    res.on('data', function(message){ 
      console.log('Message: ' + message); 
     }); 
    }).on('error', function(e) { 
    console.log('ERROR: ' + e.message);}); 

PHP функция (код воспламенитель) в контроллерах/users.php

function logout() { 
    $this->load->model('user'); 
    $fb_id = $this->session->userdata('fb_id'); 
    $player = $this->user->login($fb_id); 
    $updated_data = array(
     'isonline' => 0, 
     'status' => 'idle', 
     'selected' => 0, 
     'askedfor_ques' => 0, 
     'finish_ques' => 0, 
     'is_winner' => 0, 
    ); 
    $this->load->model('cat_sel'); 
    $room_id = $this->session->userdata('room_id'); 
    $players_mun = $this->cat_sel->get_numof_players($room_id); 
    $updatedroom_data = array(
     'num_of_players' => $players_mun - 1, 
    ); 
    $this->cat_sel->update_room($room_id, $updatedroom_data); 
    $this->user->updateuser($player['player_id'], $updated_data); 
    $this->session->sess_destroy(); 
    redirect(base_url() . 'users/login'); 
} 

, но когда я запускаю это я нашел там нет значения в сессиях и получить ошибки показано ниже несмотря на это, отлично работает, если я запустить его без nodejs

Apache войти

127.0.0.1 - - [27/Nov/2013:18:55:18 +0200] "GET /myapp/users/logout HTTP/1.1" 302 1261 "-" "-" 

nodejs войти

STATUS: 302 
Message: <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> 

<h4>A PHP Error was encountered</h4> 

<p>Severity: Notice</p> 
<p>Message: Undefined offset: 0</p> 
<p>Filename: models/cat_sel.php</p> 
<p>Line Number: 44</p> 

</div><div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> 

<h4>A PHP Error was encountered</h4> 

<p>Severity: Notice</p> 
<p>Message: Undefined index: player_id</p> 
<p>Filename: controllers/users.php</p> 
<p>Line Number: 44</p> 

</div> 

ответ

1

Node JS и PHP Не сообщайте данные сеанса. Поэтому, запрашивая страницу с помощью nodejs, ваш сервер не знает, кем является пользователь.

Смежные вопросы