Registration Fee?

Post Reply
Semen_ssr
Posts: 867
Joined: Sun Apr 25, 2010 7:59 pm

Registration Fee?

Post by Semen_ssr »

Вроде как регистрация доступная теперь и во фри версии,
Из того что есть в дефолтовых шаблонах регистрация не удалась, users никакой так и не появился, там вообще вкладка пустая. Капчу пройти не возможно, только с disable. В вике ничего не нашел. Есть где почитать?
Semen_ssr
Posts: 867
Joined: Sun Apr 25, 2010 7:59 pm

Re: Registration Fee?

Post by Semen_ssr »

Значит заведем с толкача )))
create_table.php one space

Code: Select all

<?php
// 🤞 Дебаг
ini_set('display_errors', 1);
error_reporting(E_ALL);

// ⚙️ Подключение к базе SmartCJ
$mysqli = new mysqli('localhost', 'user', 'pass', 'base');
$mysqli->set_charset("utf8mb4");

if ($mysqli->connect_error) {
    die("Ошибка подключения: " . $mysqli->connect_error);
}

$sql = "CREATE TABLE IF NOT EXISTS `my_registration` (
  `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `email` VARCHAR(255) NOT NULL,
  `name` VARCHAR(100),
  `registered_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";

if ($mysqli->query($sql) === TRUE) {
    echo "Таблица `my_registration` успешно создана!";
} else {
    echo "Ошибка: " . $mysqli->error;
}
registration.tpl

Code: Select all

<form id="register-form" class="max-w-md mx-auto mt-4 space-y-3">
  <input type="email" name="email" placeholder="Enter your email" required class="w-full px-3 py-2 border rounded">
  <input type="text" name="name" placeholder="Your name (optional)" class="w-full px-3 py-2 border rounded">
  <button type="submit" class="px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700">Register</button>
</form>
<div id="register-result" class="text-sm mt-2 text-green-600"></div>

<script>
document.getElementById('register-form').onsubmit = async (e) => {
  e.preventDefault();
  const form = new FormData(e.target);
  const res = await fetch('/my_registration_handler.php', {
    method: 'POST',
    body: form
  });
  document.getElementById('register-result').innerText = await res.text();
  e.target.reset();
};
</script>
registration_handler.php

Code: Select all

<?php
// 🤞 Дебаг
ini_set('display_errors', 1);
error_reporting(E_ALL);

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    exit("Недопустимый метод");
}

$email = trim($_POST['email'] ?? '');
$name = trim($_POST['name'] ?? '');

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    exit("Неверный email");
}

// ⚙️ Подключение к БД
$mysqli = new mysqli('localhost', 'user', 'pass', 'base');
$mysqli->set_charset("utf8mb4");

// Проверка на дубли
$check = $mysqli->prepare("SELECT id FROM my_registration WHERE email = ?");
$check->bind_param("s", $email);
$check->execute();
$check->store_result();

if ($check->num_rows > 0) {
    exit("This email address is already registered.");
}
$check->close();

// Вставка
$stmt = $mysqli->prepare("INSERT INTO my_registration (email, name) VALUES (?, ?)");
$stmt->bind_param("ss", $email, $name);
$stmt->execute();
$stmt->close();

echo "Registration successful! Thank you!";
<!--INCLUDE_TEMPLATE_my_registration-->

Пу-пу-пу пу ...))))
Post Reply