Привет! Я делаю регистрационную форму на PHP. Форма успешно сохранена в базе данных, но не отображается на странице индекса. Есть идеи / решения?

Это register.php, который он связывает с User.class.php ** ** Я работаю с оператором PDO для подключения к базе данных ** Когда я нажимаю кнопку отправки, форма отправляется в мою базу данных, но не открывает index.php **

include_once("classes/User.class.php");

try {
    if ( !empty ($_POST)){
        if ($_POST['password'] == $_POST['password_confirmation']) {
            $user = new User();
            $user->setEmail($_POST['email']);
            $user->setUsername($_POST['username']);
            $user->setFullname($_POST['fullname']);
            $user->setPassword($_POST['password']);
            if ($user->register()){
                $user->login();
            }
        }
    }
}
catch (Exception $e) {
    $feedback = $e->getMessage();
}
?>

** Это User.class.php **

   class User {
    private $email;
    private $username;
    private $fullname;
    private $password;

    public function register(){
        //connection
        $conn = new PDO('mysql:host='localhost'; dbname='databasename'', 'root', 'root');
        //query (insert)
        $statement = $conn->prepare("insert into users (email, username, fullname, password) 
        values(:email, :username, :fullname, :password)");


        // bcrypt
        $options = [ 'cost'=> 12 ];
        $password = password_hash($this->password, PASSWORD_DEFAULT, $options);


        $statement->bindParam(':fullname', $fullname);
        $statement->bindParam(':email', $email);
        $statement->bindParam(':username', $username);
        $statement->bindParam(':password', $password);
        //execute
        $result = $statement->execute();
        //return true/false
        return $result;
    }
    public function login() {
        if (!isset($_SESSION['loggedin'])) {
            header('Location:login.php');
            echo $feedback = "thanks for creating an account.";
    }


    }


}

цветовая кодировка выше указывает на синтаксические ошибки

user9487972 24.04.2018 00:21

У вас в строке 3

Roger Russel 24.04.2018 00:26

Какие ошибки? Проверьте это.

hungrykoala 24.04.2018 02:36

Никаких ошибок ... когда я нажимаю на кнопку, страница загружается, но он остается на странице login.php.

Vos 24.04.2018 11:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
28
1

Ответы 1

В вашей строке 3 на User.class.php есть ошибка, она должна быть такой:

$conn = new PDO('mysql:host=HOSTNAME;port=3306;dbname=DATABASENAME;charset=UTF8;', USERNAME, PASSWORD);

измените HOSTNAME, DATABASENAME, USERNAME и PASSWORD на правильные.

Другие вопросы по теме