Со всем, что я пробовал показывать ошибки, я все еще получаю белый экран смерти.PHP // Белый экран смерти со всеми сообщениями об ошибках
Обратите внимание, что я использую 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)'. Также - проверьте файл журнала ошибок. Что-нибудь там интересное? – uri2x
Возможно, это не экран смерти, а '$ _POST ['submit']' не установлен? – chris85
@ uri2x 'E_ALL' эквивалентно' -1' и показывает все ошибки. Руководство PHP: «Передача значения -1 будет показывать все возможные ошибки, даже если новые уровни и константы будут добавлены в будущие версии PHP. Константа E_ALL также ведет себя так же, как и PHP 5.4. ' –