Задать вопрос
@stasbombit

Не работает php код?

Пишу небольшой код(соцсеть) и делая регистрацию столкнулся с проблемой
<?php

require_once __DIR__.'/boot.php';

// Проверим, не занято ли имя пользователя
$stmt = pdo()->prepare("SELECT * FROM `accounts` WHERE `login` = :username");
$stmt->execute(['username' => $_POST['login']]);
if ($stmt->rowCount() > 0) {
    flash('Это имя пользователя уже занято.');
    echo('Это имя пользователя уже занято.');
    header('Location: register.php'); // Возврат на форму регистрации
    die; // Остановка выполнения скрипта
}

$name = $_POST["name"];
$login = $_POST["login"];
$pass = $_POST["password"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$bio = $_POST["bio"];

// Добавим пользователя в базу
$stmt = pdo()->prepare("INSERT INTO `accounts` (`login`, `password`, `name`, `bio`, `email`, `phone`, `rating`) VALUES (:login, :password, :name, :bio, :email, :phone, '1')");
$stmt->execute([
    'login' => $login,
    'password' => $pass,
    'phone' => $phone,
    'email' => $email,
    'bio' => $bio,
    'name' => $name,
]);

header('Location: login.php');

Но когда я выполнял код то был просто белый экран и всё
Делал с https://habr.com/ru/articles/665602/
изменил только index.php
  • Вопрос задан
  • 193 просмотра
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Логи смотри, ну или включи вывод ошибок.
echo('Это имя пользователя уже занято.');
header('Location: register.php'); // Возврат на форму регистрации
Здесь стопудоф будет лажа, так как хеадер так не отправляется. Почему - учим матчасть. Собсно в логах это будет отражено.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Перед session_start, а так же перед header() - не должно ничего выводиться. Если вы будете что-то выводить, это сразу выводит ошибку. Подумайте над другим вариантом, как пользователю сообщить, что логин занят.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽