无法使用php

时间:2016-04-04 21:39:20

标签: php database localhost hosting

大家好我正在使用PHP开发一个小型Web应用程序,我可以在其中登录并向DB添加一些内容,一切正常在我的localhost机器上运行 所以我把它上传到我的托管服务器,它有相同的dbname,dbuser,dbpassword比我的localhost ..但当我点击用户名和密码的登录按钮 我收到这个错误:

Error after click login button in hosting server

我知道托管已启动并正在运行,因为当我转到网址时:

gorydev.net.ve/SistemaMatilcell

这是login.php的代码

<?php 
session_start();

if(isset($_SESSION['usuario'])){
    header('Location: index.php');
}

$errores = '';

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $usuario = filter_var(strtolower($_POST['usuario']), FILTER_SANITIZE_STRING);
    $password = $_POST['password'];
    $password = filter_var($password, FILTER_SANITIZE_STRING);

    require '/db/connect.php';

    $statement = $conexion->prepare('SELECT * FROM empleados WHERE usuario = :usuario AND password = :password');
    $statement->execute(array(
        ':usuario' => $usuario,
        ':password' => $password
    ));

    $resultado = $statement->fetch();

    if($resultado != false){
        $_SESSION['usuario'] = $usuario;
        header('Location: index.php');
    }else{
        $errores .= '<li>Datos incorrectos.</li>';
                echo $errores;
    }
}

这是connect.php文件:

<?php
use Project\Helpers\Config;
require 'app/Config.php';

$config = new Config;
$config->load('config.php');

try {
    //Datos para realizar la conexion
    //$dbhost = $config->get('db.hosts.local');
        $dbhost = 'localhost';
    $dbname = $config->get('db.name'); 
    $dbuser = $config->get('db.user'); 
    $dbpass = $config->get('db.password'); 

    $conexion = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);

} catch (PDOException $e) {
    echo "Error " . $e->getMessage();
}   
?>

config.php文件:

<?php  
return [
    'db' => [
        'hosts' => [
            'local' => 'localhost',
            'externo' => '175.99.155.194',
        ],
        'name' => 'cl55-cell',
        'user' => 'cl55-cell',
        'password' => 'matilcell12'
    ],
    'mail' => [
        'host' => 'smtp.gmail.com'
    ]
];
?>

和我的Config.php类:

<?php 
/*Esta clase permite cargar las configuraciones del sistema*/
namespace Project\Helpers;
class Config
{
    protected $data;
    protected $default = null;
    public function load($file){
        $this->data = require $file;
    }
    public function get($key, $default = null){
        $this->default = $default;
        $segments = explode('.', $key);
        $data = $this->data;

        foreach ($segments as $segment) {
            if(isset($data[$segment])){
                $data = $data[$segment];
            }else{
                $data = $this->default;
                break;
            }
        }
        return $data;
    }
    public function exists($key){
        return $this->get($key) !== $this->default;
    }
}
?>

我托管中的数据库如下所示:Hosting Database

错误报告:

  

警告:require(/db/connect.php):无法打开流:第17行/home/sites/gorydev.net.ve/public_html/SistemaMatilcell/login.php中没有此类文件或目录致命错误:require():在/home/sites/gorydev.net.ve中打开所需的'/db/connect.php'(include_path ='。:/ usr / share / pear55:/ usr / share / php')失败第17行的/public_html/SistemaMatilcell/login.php /db/connect.php /

我在我的localhost pc中重复它工作正常..相同的dbname相同的用户名和密码

1 个答案:

答案 0 :(得分:0)

看起来你正在使用绝对路径,而你需要一个相对路径。

require '/db/connect.php';

应该是

require 'db/connect.php';