2017-09-24 2 views
1

Ich benutze express.js und app.post route wird verwendet, um Benutzer zu validieren und einen gültigen Benutzer auf die PHP-Seite umzuleiten, indem res.redirect() verwendet wird. , aber anstatt es umzuleiten, wird Gefunden angezeigt. Umleiten zu http://localhost/home.phpexpress.js res.redirect in app.post Route nicht auf angegebene URL umleiten

mein server.js Code ist wie folgt:

app.post('/set_node_session', function(req, res){ 
    sess = req.session; 

    var usermail = req.body.field1; 
    var password = req.body.field2; 

    var sql="SELECT * FROM userInfo WHERE userEmail='"+usermail+"'";  
    con.query(sql, function (err, result, fields) { 
     if (err) throw err;  
     sess.user_id=result[0].userId; 
     sess.first_name=result[0].userFname; 
     sess.last_name=result[0].userLname; 

     if(sess.user_id) { 
      res.redirect('http://localhost/home.php'); 
     } 
     else { 
      res.redirect('http://localhost/login.php'); 
     } 
    }); 
}); 

Antwort

0

NodeJS:

var resp = sess.user_id ? '1' : '0'; 
 
res.send(resp);

und in Ihrem php:

$result = curl_exec($ch); 
 

 
if(result == 1){ 
 
    header("Location: http://localhost/home.php"); 
 
} 
 
else{ 
 
    header("Location: http://localhost/login.php"); 
 
} 
 
die();

+0

Es funktioniert nicht. Es gibt Ausgabe: Gefunden. Umleiten zu http: //localhost/home.php – Tanzeem

+0

machst du es mit Ajax? –

+0

wir verwenden nicht Ajax, wir veröffentlichen Formular von PHP-Seite wie folgt: $ url = 'http: // localhost: 3000/set_node_session'; \t \t \t \t $ Felder = Array ( \t \t 'field1' => $ _SESSION [ "user_email"], \t \t 'field2' => $ _SESSION [ "user_pwd"], \t \t); \t \t \t \t $ postvars = http_build_query ($ fields); \t \t \t \t $ ch = curl_init(); \t \t \t \t curl_setopt ($ ch, CURLOPT_URL, $ url); \t \t curl_setopt ($ ch, CURLOPT_POST, Anzahl ($ fields)); \t \t curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postvars); \t \t \t \t $ ergebnis = curl_exec ($ ch); – Tanzeem

Verwandte Themen