Ursprünglich hatte ich meine Website lokal auf meinem Laptop eingerichtet, der Linux ist und kürzlich meine Arbeit von dort auf meinen Haupt-PC migriert hatte - Windows. Mein Grund, meine Arbeit zu verschieben, ist, dass ich die Art von Linux gefunden habe, die ich benutze, um unglaublich buggy zu sein, wo die Verbindung ständig getrennt würde, obwohl das Internet in Ordnung war oder es unglaublich lange dauern würde, die Webseite zu aktualisieren.WSOD nach der Migration von Linux zu Windows
Ich benutze jetzt XAMPP anstatt manuell einen localhost mit PHP, Apache und MySQL einzurichten. Die IDE, die ich jetzt auch benutze, ist PhpStorm, die direkt mit meinem phpmyadmin verbunden ist.
Jetzt ist mein Problem, dass ich jetzt den WSOD - White Screen Of Death bekomme, wenn ich, sagen wir, versuche, jemanden über meine Website zu registrieren, dieser leere weiße Bildschirm kommt mit KEINE Fehler angezeigt und ich habe alle möglichen angeschaut Hilfe, dass ich finden könnte, das zu beheben. Noch kein Erfolg, so dass ich jetzt in der Schwebe stehe, ob mein Code das Problem ist oder etwas anderes ist, kann ich einfach nicht sagen.
Das ist das gleiche, wenn ich meine Login-Funktion auch versuche.
Dies funktionierte gut auf meinem Laptop, trotz der kleinen Fehler hier und da.
Ich habe Fehlerberichte aktiviert und ich habe versucht, es in der php.ini
Datei zu aktivieren, die nur ignoriert wird oder XAMPP ablehnt (funktioniert nicht).
Hier ist mein Code sowieso sowohl für die Datenbank und die Registrierung, um nur ein Beispiel zu geben:
register.php:
<?php
require 'connection.php';
ini_set('display_errors', 1);
ini_set('html_errors', 0);
error_reporting(E_ALL);
$firstname = isset($_POST['firstname']) ? $_POST['firstname'] : '';
$lastname = isset($_POST['lastname']) ? $_POST['lastname'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
$confirmpassword = isset($_POST['confirmpassword']) ? $_POST['confirmpassword'] : '';
$message[] = '';
if (!empty($_POST['username']) && !empty($_POST['password']))
{
//var_dump($password, $confirmpassword);
if(strlen($password) > 6 && strlen($password) < 32)
{
if($password == $confirmpassword)
{
$records = $conn->prepare('SELECT * FROM users WHERE Username = :username');
$records->bindParam(':username', $_POST['username']);
$records->execute();
$results = $records->fetchAll(PDO::FETCH_ASSOC);
//var_dump($results);
if(count($results) > 0)
{
echo 'That username is already in use, please use a different one.';
}
else
{
$emailRecords = $conn->prepare('SELECT * FROM users WHERE Email = :email');
$emailRecords->bindParam(':email', $_POST['email']);
$emailRecords->execute();
$emailResults = $emailRecords->fetchAll(PDO::FETCH_ASSOC);
if(count($emailResults) > 0)
{
echo 'That email is already in use, are you sure you\'re not registered with us already? <a href="loginPage.php">Login Here</a>';
}
else
{
$sql = "INSERT INTO users (Firstname, Lastname, Role, Email, Username, Password) VALUES (:firstname, :lastname, :role, :email, :username, :passwords)";
$stmt = $conn->prepare($sql);
$hashPassword = password_hash($password, PASSWORD_DEFAULT);
$stmt->bindParam(':firstname', strip_tags($firstname));
$stmt->bindParam(':lastname', strip_tags($lastname));
$stmt->bindParam(':role', $_POST['role']);
$stmt->bindParam(':email', strip_tags($email));
$stmt->bindParam(':username',strip_tags($username));
$stmt->bindParam(':passwords',strip_tags($hashPassword));
if ($stmt->execute())
{
echo 'Well done! You have successfully registered with us!';
header('Location:loginPage.php');
}
else
{
echo 'There seems to be an issue getting you registered.';
//$message = 'There seems to be an issue getting you registered.';
}
}
}
}
else
{
echo 'Your passwords do not match, please enter them correctly.';
//$message = 'Your passwords do not match, please enter them correctly.';
//header('Location:registerPage.php');
}
}
else
{
echo 'Your password must be between 6 to 32 characters.';
//header('Location:registerPage.php');
}
}
Datenbank - Tabelle Benutzer: (nach Anmeldung erforderlich und Register)
CREATE TABLE users
(
id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
Firstname VARCHAR(50) NOT NULL,
Lastname VARCHAR(50) NOT NULL,
Role VARCHAR(30) NOT NULL,
Email VARCHAR(150) NOT NULL,
Username VARCHAR(60) NOT NULL,
Password VARCHAR(128) NOT NULL
);
CREATE UNIQUE INDEX Email ON users (Email);
CREATE UNIQUE INDEX Username ON users (Username);
Sie wollen die Fehlerzeilen vor kommen Berichterstattung 'require‚connection.php‘;' – AbraCadaver
nur bestätigt, dass Sie alle Ihre Dateien in der Web-Root gesetzt von XAMPP? –
@JayBlanchard Das habe ich nicht getan. Ich wusste nicht, dass es das war, was ich tun sollte. Ich werde das untersuchen. Vielen Dank! :) –