2014-07-22 5 views
-1

Le script suivant est utilisé salt et hash un mot de passe et il existe une autre méthode pour l'insérer dans la base de données.require_once ne fonctionne pas pour la classe?

<?php 

require_once "./Database.php"; 

class Register { 

    function saltHashPassword($password) { 
     $hashAndSalt = password_hash($password, PASSWORD_BCRYPT); 

     return $hashAndSalt; 
    } 

    function insertNewMember($username, $password) { 
     $database = new Database(); 
     $database->insertNewMember($username, $password); 
    } 
} 

Les méthodes sont appelées par ce fichier

<?php 

require_once "./helpers/Register.php"; 

$regiter = new Register(); 
$saltAndHashedPassword = $regiter->saltHashPassword("dfgsdfg"); 
$regiter->insertNewMember("testuser", $saltAndHashedPassword); 
?> 

Quand je lance le script que je reçois le texte suivant

PHP Warning: require_once(./Database.php): failed to open stream: No such file or directory in /var/www/mate8/helpers/Register.php on line 3 

PHP Fatal error: require_once(): Failed opening required './Database.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/mate8/helpers/Register.php on line 3 

Je ne comprends pas pourquoi il ne fonctionne pas. J'ai le bon chemin vers le fichier. N'importe quelle idée quelle erreur j'ai faite ici?

Les deux database.php et register.php sont dans le même dossier « aides »

+0

Autorisations de fichier? –

Répondre

0

Depuis Register.php est dans helpers répertoire comme le laisse entendre cette ligne

require_once "./helpers/Register.php"; 

Et database.php est pas des aides répertoire comme le laisse entendre

require_once "./Database.php"; 

Vous devez changer le chemin Register.php pour chercher Database.php un répertoire au-dessus, par exemple

require_once "../Database.php"; 
+0

Database.php est également dans le dossier helpers – Arya

+0

Ensuite, son include devrait être 'require_once" ./helpers/Database.php ";' –

+0

vous avez raison. Ça a marché. Est-ce parce que le script appelant importe Register.php? Y a-t-il une autre façon de faire cela, donc peu importe qui appelle la classe d'aide? – Arya

Questions connexes