我已经建立了一个带有一些php的小网站。它在我的localhost上完美运行(即使没有数据库信息,它也会加载html和css)。
然而,当我把它放在网上时,我只是得到一个空白页,没有错误,没有。但是,当我手动键入页面时,它会重定向到登录页面(这很好)。
以前有人经历过这个吗?
由于 EDIT2:经过一些调试建议我得到了这个错误
警告:include_once(classes / users.class.php):无法打开流: 在......中没有该文件或目录 /customers/c/2/9/nicolasdecroos.be/httpd.www/eindwerk/login.php on 第8行警告:include_once():打开失败 包含'classes / users.class.php' (include_path ='。:/ usr / share / php')in /customers/c/2/9/nicolasdecroos.be/httpd.www/eindwerk/login.php on 第8行致命错误:未找到“用户”类 /customers/c/2/9/nicolasdecroos.be/httpd.www/eindwerk/login.php on 第9行
编辑:这是登录页面上的PHP代码
<?php
session_start();
include_once("classes/users.class.php");
$user = new user();
if(isset($_SESSION['loggedin']))
{
header('location: index.php');
}
else
{
if(!empty($_POST))
{
try
{
$user->login($_POST['studentennummer'],$_POST['password']);
}
catch (Exception $error)
{
$message = $error->getMessage();
}
}
}
?>
这是users.class
*对不起,如果有很多代码,我不确定哪个部分最有趣。
<?php
include_once("classes/db.class.php");
class user
{
private $m_sStudentennummer;
private $m_sPassword;
private $m_sStatus;
public function __get($p_sProperty)
{
switch ($p_sProperty)
{
case 'Studentennummer':
return $this->m_sStudentennummer;
break;
case 'Password':
return $this->m_sPassword;
break;
case 'Status':
return $this->m_sStatus;
break;
}
}
public function __set($p_sProperty, $p_vValue)
{
switch ($p_sProperty)
{
case 'Studentennummer':
$this->m_sStudentennummer = $p_vValue;
break;
case 'Password':
$this->m_sPassword = $p_vValue;
break;
case 'Status':
$this->m_sStatus = $p_vValue;
break;
}
}
public function userCheck($p_sInput)
{
$db = new db();
$sql = "SELECT * FROM users WHERE u_id = '". $p_sInput . "'";
$result = $db->conn->query($sql);
if ($result->num_rows == 0)
{
return "true";
}
else
{
return "false";
}
}
public function login($p_sStudentennummer, $p_sPassword)
{
$db = new db();
$sql = "SELECT * FROM users WHERE u_nr = '".$db->conn->real_escape_string($p_sStudentennummer)."' AND u_pass = '".$db->conn->real_escape_string($p_sPassword)."';";
$result = $db->conn->query($sql);
$rows = $result->fetch_assoc();
$status = "SELECT * FROM users WHERE u_nr = '".$db->conn->real_escape_string($p_sStudentennummer)."' AND u_pass = '".$db->conn->real_escape_string($p_sPassword)."' AND u_group = 'student'";
$statusRes = $db->conn->query($status);
if ($result->num_rows == 1)
{
if ($statusRes->num_rows == 1)
{
$_SESSION['u_id'] = $rows['u_id'];
$_SESSION['loggedin'] = 1;
header('Location: index.php');
}
else
{
$_SESSION['u_id'] = $rows['u_id'];
$_SESSION['loggedin'] = 1;
header('Location: my_events.php');
}
}
else
{
throw new Exception("Username and/or password are invalid.");
}
}
}
?>
答案 0 :(得分:0)
如果可以,请更改在线托管的错误级别。
它会在屏幕上显示每个错误,但非常有用(至少对我来说)。
<? error_reporting(E_ALL); ?>
答案 1 :(得分:0)
好的,
这是愚蠢的事情,但我会发布它,因为有人有麻烦。
该地图名为&#34; C lasses&#34;。在代码中它被写成&#34; c lasses&#34;。
在localhost上它不是一个问题,但当你把它放在网上它是。