2017-07-10 2 views
0

Also hier ist der Code für eppkm.php (die Seite, die ich geschützt werden muss) Die Sitzung wird einfach durch Einreichen eines Formulars mit Token-Wert abgerechnet.Sitzung kann nicht eingestellt werden und Null zurückgeben

<?php session_start(); 
include_once"pengaturan/crud.php"; 

if (isset($_POST['token'])) 
{ 
     $token = $_POST['token']; 
     $_SESSION['user'] = true; 
     $konek->login($token); 
} 
else 
{ 
     $_SESSION['user'] = true; 
     $konek->login($token); 
} 

?> 

Und hier ist die pengaturan/crud.php Datei, Login-Funktion:

public function login($token) 
    { 

     if (isset($token)) 
     { 
     $query = "SELECT * FROM master_users WHERE remember_token = '". $token ."'" ; 
     $hasil = pg_query(Parent::get_dbcon(),$query); 

     if (pg_num_rows($hasil) != 1) 
     { 
      echo "nothing"; 
      //header("Location: http://192.168.0.190/eppkm_ex/public/master/login");  
     } 

     } 

     else{ 
     if(!isset($_SESSION['user'])){ 
     session_destroy(); 
     header("Location: http://192.168.0.190/eppkm_ex/public/master/login"); 
      } 
     } 

    } 

Als ich versuchte, die Sitzung zu Echo, es sagt Undefined index: user und auch die Sitzung versucht Var_dump, das Ergebnis kommt null, was bedeutet, dass die Sitzung nicht erledigt ist.

Können Sie mir helfen, die Sitzung zu reparieren? Und zeigen Sie mir, wo mache ich falsch :(

+0

Ich habe jemals das gleiche Problem, https://stackoverflow.com/questions/44938763/set-session-with-post-data –

Antwort

0

Ich habe in den letzten 7-8 Jahre ähnliches Problem stoßen vor von dem, was ich erinnere mich, das Problem nicht zu $ ​​_SESSION verwandt ist, aber der Wert Boolean

ich würde vorschlagen, em string/integer Umwandlung oder alternativ per Erklärung unten

hier explaination.

Ein boolean TRUE Wert auf die Zeichenfolge umgewandelt wird "1" Boolean FALSE wird umgewandelt "" (die leere Zeichenfolge). Dies ermöglicht die Konvertierung zwischen 0 und zwischen Booleschen und String-Werten.

Reference here

+0

Ja, ich ändere '$ _SESSION ['user'] = $ token', aber nichts passiert. Das Problem ist dasselbe, Sitzung nicht erledigt. –

+0

versuchen Sie die Seite nach dem Einstellen der Sitzung umzuleiten? Wenn Ja, können Sie versuchen, session_write_close() hinzuzufügen; über Umleitungscode wie Beispiel: session_write_close(); header ("Standort: /Ihre Seite.php"); –

0

Ihr Code funktioniert gut!

Check

Bitte setzen Sie error_reporting(E_ALL); und ini_set('display_errors', 1); an Anfang der Datei oder CHeck.

Verwandte Themen