我正在创建一个简单的PHP-CMS。当然,我还创建了一个简单的登录表单,您可以看到,它使用SQL查询来检查输入的用户名和密码是否匹配,等等。
这工作了好几个月现在,直到最近我改变了这个文件中的一些东西(我不记得什么:对不起),现在我得到当我输入正确的用户名/密码是一个白屏!我在PHP中启用了错误报告功能,但一无所获
有人能帮我/检查我的代码的错误吗?
提前感谢!
这里是PHP loginpanel.php文件。
<?php
error_reporting(E_ALL);
ob_start();
if(isset($_POST["SubmitBtn"]))
{
$username = $_POST["Name"];
$password = $_POST["Pass"];
$pdo = new PDO("mysql:host=fdb6.awardspace.net;dbname=1645626_cms","***","****");
$query = $pdo->prepare("SELECT * FROM T_Users WHERE Username = :username AND Password = :password");
$query->bindParam(":username", $username);
$query->bindParam(":password", $password);
$query->execute();
// geneste if voor het inloggen indien aan de voorwaarde hierboven voldaan word+countdown/welkomstbericht
if($result = $query->fetch(PDO::FETCH_OBJ))
{
echo "Welcome " .$result->Username. "!";
echo '<p>You will be logged in in 5 seconds.</p>';
session_start();
$_SESSION["Name"] = $username;
header("Location:http://stuff.romulus310ftp.dx.am/CMS/login/adminpanel.php");
}
else
{
echo "You entered the wrong password or username. Please try again.";
}
}
// ifje voor de registratie-countdown
if (isset($_POST["RegistrateBtn"]))
{
echo '<p>You will be redirected in 5 seconds.</p>';
header("Location:http://stuff.romulus310ftp.dx.am/CMS/login/registrationpanel.php");
}
?>
这是它的HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CMS by Romulus</title>
<link rel="stylesheet" type="text/css" href="CSS/style.css">
</head>
<body>
<form action="#" method="post" class="form">
Name: <input type="text" name="Name">
</br>
Passw: <input type="password" name="Pass">
</br>
<input type="submit" value="Enter" name="SubmitBtn">
<input type="submit" value="Register" name="RegistrateBtn">
</form>
</body>
</html>
编辑:我发现我得到错误"致命错误:未捕获的异常'PDOException'与消息'无法找到驱动程序'",根据我的一个朋友的意思是有一个问题在我的主机。这是真的吗?
尝试创建一个测试页面并输出phpinfo()
您应该能够看到PDO是否安装在那里
您应该在try/catch块中包装您的PDO
连接:
try {
$pdo = new PDO(...)
//queries, etc.
}
catch(PDOException $ex) {
echo(ex->getMessage());
}
可能你的主机名,用户名,密码,甚至你的查询都是错误的。getMessage
方法应该帮助您跟踪哪一行导致了您的问题。
编辑:根据您对PDO
错误的更新判断,我建议访问此SO问题,以了解如何在PHP安装中启用MySQL PDO驱动程序。