【发布时间】:2015-11-24 02:03:01
【问题描述】:
尽管我尝试了所有关于显示错误的方法,但我仍然出现白屏死机。
请注意,我正在使用 XAMPP 开发网站。 还有什么我可以做的吗?也看看我的代码,因为我不知道它是否有效。
代码如下:
<?php
error_reporting(-1); // Have PHP complain about absolutely everything
$conf['error_level'] = 2; // Show all messages on your screen, 2 = ERROR_REPORTING_DISPLAY_ALL.
ini_set('display_errors', TRUE); // These lines just give you content on WSOD pages.
ini_set('display_startup_errors', TRUE);
require("dbconn.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$Username = $_POST['username']; #Username
$Password = $_POST['password']; #Password
function InsrtUser()
{
global $Username,$Password;
#Egxwrish stoixeiwn
$hashed_pass = PASSWORD_HASH($Password, PASSWORD_DEFAULT);
$query = "INSERT INTO users (username,password) VALUES (:username, :password)";
$data = $mysqli->prepare($query);
$data->execute(array(':username'=>$Username, ':password'=>$hashed_pass));
if($data->rowCount() > 0)
{
return "YOUR REGISTRATION IS COMPLETED...";
}
}
function Register()
{
global $Username,$Password;
if(!empty($Username)) //checking the 'username' name which is from register.html, if is it empty or have some text
{
$query = ("SELECT * FROM users WHERE username = :username");
$query = $mysqli->prepare($query);
$query->execute(array(':username'=>$Username));
if($query->rowCount() == 0)
{
$msg = InsrtUser();
echo $msg;
}
else {
echo "SORRY...YOU ARE ALREADY registerED USER...!";
die();
}
}
}
if(isset($_POST['submit']))
{
//User registration
Register();
echo "Your account has been created successfully. \\n Thank you for joined us!";
$msgSuccess = "Your account has been created successfully. \\n Thank you for joined us!";
echo
"<script>
alert('$msgSuccess');
window.location.href='../index.php';
</script>";
}
?>
【问题讨论】:
-
使用
error_reporting(E_ALL)而不是error_reporting(-1)。另外 - 检查您的错误日志文件。有什么有趣的吗? -
可能不是死屏而是
$_POST['submit']没有设置? -
@uri2x
E_ALL等同于-1并显示所有错误。 PHP 手册:Passing in the value -1 will show every possible error, even when new levels and constants are added in future PHP versions. The E_ALL constant also behaves this way as of PHP 5.4. -
@CharlotteDunois 够公平的。我仍然更喜欢
E_ALL代码可读性。 -
谢谢你们,我也试过 E_ALL。 @chris85 发现的问题。这是关于 $_POST['submit'] 的。
标签: php codeigniter debugging error-handling xampp