2016-07-18 13 views
0

Ich habe den folgenden Fehler während ich die Klasse (in Bilddatei) rufen enter image description hereKlasse nicht gefunden

Im Folgenden ist die Seite, die ich Fehler. Ich versuche die Klasse von models/toSession.php aufzurufen.

<?php 
session_start(); 
error_reporting(E_ALL^E_NOTICE); 

use myGuzzle\myGuzzle; 
use models\toSession; 
spl_autoload_register(function ($class_name) { 
    include $class_name . '.php'; 
}); 
session_start(); 
error_reporting(E_ALL^E_NOTICE); 
$login = $_POST['login']; 
$pass = $_POST['pass']; 

$myGuzzle = new myGuzzle(); 
$myGuzzle->response(['login'=>$login,'pass'=>$pass,'rememberme'=>''],'POST','api.hitbox.tv/auth/login'); 

if($myGuzzle->getStatus() == 200){ 

    $json = json_decode($myGuzzle->getBody(),true); 
    $toSession = new toSession(); 

    if($toSession->toSession($json)){ 
    $_SESSION['msg'] = "Login Success"; 
    } 

} 
else if($myGuzzle->getStatus() == 400){ 

    $_SESSION['msg'] = "Fail to login due to invalid id or password. ".$myGuzzle->getBody(); 

} 
else{ 

    $_SESSION['msg'] = $myGuzzle->getBody(); 
    } 



?> 

Folgendes ist die Klasse, die ich anrufen wollte. Ich versuche, das Array in Sitzung zu verwandeln.

<?php; 
namespace models; 
session_start(); 
error_reporting(E_ALL^E_NOTICE); 

class toSession{ 

    public $opts; 

    function turnToSession($opts = []){ 

     $this->opts = $opts; 
     return proceed(); 

    } 
    function proceed(){ 

     foreach($this->opts as $key=>$value){ 

      $_SESSION[$key]=$value; 

     } 

     return true; 
    } 


} 
+0

Versuchen Sie Folgendes: http://StackOverflow.com/A/35237661/2815635 – C2486

+0

mein Fehler tritt auf, wenn ich Klasse auf models/toSession.php – d3no

+0

BTW aufrufen, mit Blick auf Ihre Klasse zuSitzung. Sie rufen eine Funktion namens toSession an, die nicht vorhanden ist. Die einzige Funktion mit einem fast ähnlichen Namen ist turnToSession ($ opts = []) – Fuzzzzel

Antwort

0

Ist es möglich, dass die Klasse nicht als Klasse und damit als Text gedruckt erkannt wird, weil Sie ein Semikolon nach <?php; in Ihrem toSession.php haben?

Auch die Funktion toSession ist nicht in dieser Klasse wie ich in meinem Kommentar angegeben habe. Nur turnToSession.

Entschuldigung für meine andere Antwort, löschte ich es. Wenn der Quellcode angezeigt wird, muss die Datei offensichtlich vom Autoloader gefunden worden sein.

+0

TQVM ... Ich würde nicht bemerken, ein Semikolon nach d3no