Скрипт игры Gameport 2022

Zver

Zver

Пользователь
50
2
Здравствуйте как исправили данную ошибку, у меня тоже такая ошибка 631 айпи хостинга не помогает
Сообщения были объединены:


И еще какой хостинг рекомендуете для данного скрипта чтобы не было проблем и блокировки
Salom Beget hostingdan foydalanin yaxshi ishliydi
 
T

Tantin1

Пользователь
5
0
Знатоки, подскажите пожалуйста, как сделать, чтобы стоимость персонажа была не фиксированная, а на выбор пользователя?
Например, первый тариф от 10 до 100 рублей, второй от 100 до 500, и так далее ... ?
 
DozZzeR

DozZzeR

Пользователь
17
8
Знатоки, подскажите пожалуйста, как сделать, чтобы стоимость персонажа была не фиксированная, а на выбор пользователя?
Например, первый тариф от 10 до 100 рублей, второй от 100 до 500, и так далее ... ?
Код:
$timeBuy = time();

# Покупка тарифа
if(isset($_POST['sumbuy'])){
$id = intval($_POST['item']);
$sumBuy = intval($_POST['sumbuy']);
    $rows = $db->query('SELECT * FROM db_tarif WHERE id = ?',array($id))->numRows();
    if ($rows) {
        $items = $db->query("SELECT * FROM db_tarif WHERE id = '$id' LIMIT 1")->fetchArray();

        # Проверяем средства пользователя
        $need_money = $sumBuy;
        if($need_money <= $user['money_b']){

        $min_s = $items['price'];
        $max_s = $items['price2'];
        $title = $items['title'];

        if($sumBuy >=$min_s) {
        if($sumBuy <=$max_s) {

        $speed = $items['speed'] * ($sumBuy/ $items['price']);
        $end = $timeBuy+60*60*24*$items['period'];

        # Добавляем персонажа и списываем деньги
        $db->query("UPDATE db_users SET money_b = money_b - $need_money, speed = speed + $speed, last ='$timeBuy' WHERE id = '$uid'");
        $db->query("INSERT INTO db_store (uid, tarif, title, speed, level, `add`, `end`, `last` ) VALUES ('$uid', '$id', '$title', '$speed', '1', '$timeBuy', '$end', '$timeBuy')");

        echo '<div class="alert alert-success text-center"><b>Вы успешно улучшили заработок!</b></div>';
        }else echo '<div class="alert alert-danger text-center"><b>Максимальная сумма оплаты:  '.$title.' = '.$max_s.' руб!</b></div>';   
        }else echo '<div class="alert alert-danger text-center"><b>Минимальная сумма оплаты:  '.$title.' = '.$min_s.' руб!</b></div>';   
        }else echo '<div class="alert alert-danger text-center"><b>Недостаточно средств для оплаты!</b></div>';   
    }
}

PHP:
<form action="" method="post" class="m-0">
<div class="text-center">
 <input type="hidden" name="item" value="<?=$shop['id'];?>" />
<div class="input-group">
<div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-ruble-sign"></i></span></div>
<input type="number" min="<?=$shop['price'];?>" max="<?=$shop['price2'];?>" step="<?=$shop['price']/10;?>" class="form-control custom-select pr-2" value="<?=$shop['price'];?>" name="sumbuy" onchange="generateThis<?=$shop['id'];?>();" onkeyup="generateThis<?=$shop['id'];?>();" onfocusout="generateThis<?=$shop['id'];?>();" onactivate="generateThis<?=$shop['id'];?>();" ondeactivate="generateThis<?=$shop['id'];?>();" id="getsum<?=$shop['id'];?>">
<div class="input-group-append"><button class="btn btn-primary text-uppercase pl-2 pr-2" type="submit"><b>Оплатить</b></button></div>
</div>
</div>
 </form>
Сообщения были объединены:

SQL:
CREATE TABLE `db_tarif` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(20) NOT NULL,
  `img` INT(11) NOT NULL,
  `speed` DECIMAL(10,6) NOT NULL,
  `price` INT(11) NOT NULL,
  `price2` INT(11) NOT NULL,
  `period` INT(11) NOT NULL,
  PRIMARY KEY (`id`)
);
 
  • Мне нравится
Реакции: Tantin1
DozZzeR

DozZzeR

Пользователь
17
8
День добрый! Кто может помочь починить восстановление пароля, чтобы приходило на почту письмо с кодом?
Рабочый способ, код приходят на все почтовые сервери Gmail Yahoo и тд

Код:
<?php
if (!defined('FastCore')) { exit('Opss!'); }
# Заголовки
$opt = array(
    'title' => 'Восстановление пароля',
    'description' => 'Восстановление пароля, вспомнить пароль, сбросить пароль'
);

if (isset($_SESSION['uid'])) {
    Header('Location: /user/dashboard');
    return;
}
?>

<div class="container-fluid pt-4 px-4" style="width: 835px; height: 500px;">
    <div class="d-flex align-items-center justify-content-between mb-4">
        <h5 class="mb-0">Восстановление пароля</h5>
    </div>

    <?php
    # Форма восстановления пароля
    if (isset($_POST['restore'])) {

        # Фильтрация данных
        $email = $func->FMail($_POST['email']);
        $time = time();
        $tdel = $time + 60 * 15;  // Время удаления ссылки через 15 минут

        # Удаление старых запросов на восстановление пароля
        $db->query("DELETE FROM db_restore WHERE date_del < ?", $time);

        # Определение IP-адреса
        $ipGet = $func->ipGet();
        $ip = $func->ipValid($ipGet);

        # Проверка email
        if (!empty(filter_var($email, FILTER_VALIDATE_EMAIL))) {

            # Ищем пользователя по email
            $uml = $db->query("SELECT * FROM db_users WHERE email = ?", $email)->numRows();
            if ($uml == 1) {

                # Проверка, не было ли недавно восстановление пароля с этого IP или email
                $restore = $db->query("SELECT * FROM db_restore WHERE ip = ? OR email = ?", $ip, $email)->numRows();
                if ($restore == 0) {

                    # Генерация нового пароля (14 символов, заглавные и строчные буквы, цифры)
                    function dozzzeer_pass($length = 14)
                        {
                            $arr = array(
                                    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
                                    'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
                                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'I', 'j', 'k', 'l', 'm',
                                    'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
                                    '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '!', '#', ''
                            );
                            
                                $res = '';
                                for ($i = 0; $i < $length; $i++) {
                                    $res .= $arr[random_int(0, count($arr) - 1)];
                                }
                                return $res;
                        }
                            
                    $new_pass = dozzzeer_pass();

                    # Запись в таблицу восстановления пароля
                    $db->query("INSERT INTO db_restore (email, ip, date_add, date_del) VALUES (?,?,?,?)", $email, $ip, $time, $tdel);

                    # Обновление пароля в базе данных
                    $db->query('UPDATE db_users SET pass = ? WHERE email = ?', array($new_pass, $email));
 
                    # Отправка email с новым паролем
                    $mailSMTP = new sendMailSmtpClass('ТУТ ПОЧТА', 'ТУТ ПАРОЛЬ', 'ТУТСЕРВЕР', 587, "UTF-8");
                    $from = array(
                        "$config->sitename",
                        "$config->email"
                    );
                    $to = $email; // Получатель

                    // HTML сообщение с новым паролем
                    $message = "
                    <html>
                    <head>
                        <title>Восстановление пароля</title>
                        <style>
                            body {
                                font-family: Arial, sans-serif;
                                background-color: #f4f4f4;
                                color: #333;
                                padding: 20px;
                                margin: 0;
                            }
                            .email-container {
                                background-color: #ffffff;
                                border-radius: 8px;
                                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                                padding: 30px;
                                width: 600px;
                                margin: 0 auto;
                            }
                            .email-header {
                                text-align: center;
                                background-color: #3498db;
                                color: #fff;
                                padding: 20px;
                                border-radius: 8px 8px 0 0;
                            }
                            .email-header h1 {
                                font-size: 24px;
                                margin: 0;
                            }
                            .email-body {
                                font-size: 16px;
                                line-height: 1.6;
                                padding: 20px 0;
                            }
                            .new-password {
                                font-size: 18px;
                                color: #e74c3c;
                                font-weight: bold;
                                background-color: #f9f9f9;
                                border: 1px solid #e74c3c;
                                padding: 10px;
                                border-radius: 5px;
                                display: inline-block;
                                margin-top: 10px;
                            }
                            .footer {
                                text-align: center;
                                font-size: 14px;
                                color: #777;
                                margin-top: 30px;
                            }
                            .footer a {
                                color: #3498db;
                                text-decoration: none;
                            }
                        </style>
                    </head>
                    <body>

                        <div class='email-container'>
                            <div class='email-header'>
                                <h1>Восстановление пароля</h1>
                            </div>
                            <div class='email-body'>
                                <p>Здравствуйте!</p>
                                <p>Вы запросили восстановление пароля для вашего аккаунта. Ваш новый пароль:</p>
                                <p class='new-password'>$new_pass</p>
                                <p>Пожалуйста, используйте его для входа на сайт.</p>
                                <p>Если вы не запрашивали восстановление пароля, проигнорируйте это сообщение.</p>
                            </div>
                            <div class='footer'>
                                <p>С уважением, команда <strong>$config->sitename</strong></p>
                                <p>Если у вас возникли вопросы, свяжитесь с нами по адресу <a href='mailto:$config->email'>$config->email</a></p>
                            </div>
                        </div>

                    </body>
                    </html>
                    ";

                    // Отправка email
                    $result = $mailSMTP->send($to, 'Восстановление пароля', $message, $from);

                    # Уведомление об успешной отправке письма
                    echo '<div class="alert alert-success">На ваш E-Mail адрес было отправлено сообщение.</div>';

                } else {
                    $errors[] = 'Восстановление пароля с этого IP ('.$ip.') уже производилось за последние 15 минут!';
                }
            } else {
                $errors[] = 'Пользователь с таким email не найден!';
            }
        } else {
            $errors[] = 'Ошибка заполнения email!';
        }

        # Вывод ошибок
        if (!empty($errors)) {
            foreach ($errors as $error) {
                echo '<div class="alert alert-danger"><i class="fa fa-warning"></i> ' . $error . '</div>';
            }
        }
    }
    ?>

    <form class="contact-one__form" action="" method="POST">
        <input class="form-control" name="email" type="email" placeholder="Введите Email" style="text-align: left; width: 250px;" value="" required />
        <br>
        <div class="text-left">
            <button name="restore" type="submit" class="btn btn-primary">
                Восстановить пароль
            </button>
        </div>
    </form>
</div>

Это файл закинуть в папка /core/
 

Вложения

  • core.zip
    2,9 КБ · Просмотры: 4
  • Мне нравится
Реакции: Tek.Mauli
Tek.Mauli

Tek.Mauli

Пользователь
142
88
Рабочый способ, код приходят на все почтовые сервери Gmail Yahoo и тд

Код:
<?php
if (!defined('FastCore')) { exit('Opss!'); }
# Заголовки
$opt = array(
    'title' => 'Восстановление пароля',
    'description' => 'Восстановление пароля, вспомнить пароль, сбросить пароль'
);

if (isset($_SESSION['uid'])) {
    Header('Location: /user/dashboard');
    return;
}
?>

<div class="container-fluid pt-4 px-4" style="width: 835px; height: 500px;">
    <div class="d-flex align-items-center justify-content-between mb-4">
        <h5 class="mb-0">Восстановление пароля</h5>
    </div>

    <?php
    # Форма восстановления пароля
    if (isset($_POST['restore'])) {

        # Фильтрация данных
        $email = $func->FMail($_POST['email']);
        $time = time();
        $tdel = $time + 60 * 15;  // Время удаления ссылки через 15 минут

        # Удаление старых запросов на восстановление пароля
        $db->query("DELETE FROM db_restore WHERE date_del < ?", $time);

        # Определение IP-адреса
        $ipGet = $func->ipGet();
        $ip = $func->ipValid($ipGet);

        # Проверка email
        if (!empty(filter_var($email, FILTER_VALIDATE_EMAIL))) {

            # Ищем пользователя по email
            $uml = $db->query("SELECT * FROM db_users WHERE email = ?", $email)->numRows();
            if ($uml == 1) {

                # Проверка, не было ли недавно восстановление пароля с этого IP или email
                $restore = $db->query("SELECT * FROM db_restore WHERE ip = ? OR email = ?", $ip, $email)->numRows();
                if ($restore == 0) {

                    # Генерация нового пароля (14 символов, заглавные и строчные буквы, цифры)
                    function dozzzeer_pass($length = 14)
                        {
                            $arr = array(
                                    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
                                    'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
                                    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'I', 'j', 'k', 'l', 'm',
                                    'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
                                    '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '!', '#', ''
                            );
                          
                                $res = '';
                                for ($i = 0; $i < $length; $i++) {
                                    $res .= $arr[random_int(0, count($arr) - 1)];
                                }
                                return $res;
                        }
                          
                    $new_pass = dozzzeer_pass();

                    # Запись в таблицу восстановления пароля
                    $db->query("INSERT INTO db_restore (email, ip, date_add, date_del) VALUES (?,?,?,?)", $email, $ip, $time, $tdel);

                    # Обновление пароля в базе данных
                    $db->query('UPDATE db_users SET pass = ? WHERE email = ?', array($new_pass, $email));
 
                    # Отправка email с новым паролем
                    $mailSMTP = new sendMailSmtpClass('ТУТ ПОЧТА', 'ТУТ ПАРОЛЬ', 'ТУТСЕРВЕР', 587, "UTF-8");
                    $from = array(
                        "$config->sitename",
                        "$config->email"
                    );
                    $to = $email; // Получатель

                    // HTML сообщение с новым паролем
                    $message = "
                    <html>
                    <head>
                        <title>Восстановление пароля</title>
                        <style>
                            body {
                                font-family: Arial, sans-serif;
                                background-color: #f4f4f4;
                                color: #333;
                                padding: 20px;
                                margin: 0;
                            }
                            .email-container {
                                background-color: #ffffff;
                                border-radius: 8px;
                                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                                padding: 30px;
                                width: 600px;
                                margin: 0 auto;
                            }
                            .email-header {
                                text-align: center;
                                background-color: #3498db;
                                color: #fff;
                                padding: 20px;
                                border-radius: 8px 8px 0 0;
                            }
                            .email-header h1 {
                                font-size: 24px;
                                margin: 0;
                            }
                            .email-body {
                                font-size: 16px;
                                line-height: 1.6;
                                padding: 20px 0;
                            }
                            .new-password {
                                font-size: 18px;
                                color: #e74c3c;
                                font-weight: bold;
                                background-color: #f9f9f9;
                                border: 1px solid #e74c3c;
                                padding: 10px;
                                border-radius: 5px;
                                display: inline-block;
                                margin-top: 10px;
                            }
                            .footer {
                                text-align: center;
                                font-size: 14px;
                                color: #777;
                                margin-top: 30px;
                            }
                            .footer a {
                                color: #3498db;
                                text-decoration: none;
                            }
                        </style>
                    </head>
                    <body>

                        <div class='email-container'>
                            <div class='email-header'>
                                <h1>Восстановление пароля</h1>
                            </div>
                            <div class='email-body'>
                                <p>Здравствуйте!</p>
                                <p>Вы запросили восстановление пароля для вашего аккаунта. Ваш новый пароль:</p>
                                <p class='new-password'>$new_pass</p>
                                <p>Пожалуйста, используйте его для входа на сайт.</p>
                                <p>Если вы не запрашивали восстановление пароля, проигнорируйте это сообщение.</p>
                            </div>
                            <div class='footer'>
                                <p>С уважением, команда <strong>$config->sitename</strong></p>
                                <p>Если у вас возникли вопросы, свяжитесь с нами по адресу <a href='mailto:$config->email'>$config->email</a></p>
                            </div>
                        </div>

                    </body>
                    </html>
                    ";

                    // Отправка email
                    $result = $mailSMTP->send($to, 'Восстановление пароля', $message, $from);

                    # Уведомление об успешной отправке письма
                    echo '<div class="alert alert-success">На ваш E-Mail адрес было отправлено сообщение.</div>';

                } else {
                    $errors[] = 'Восстановление пароля с этого IP ('.$ip.') уже производилось за последние 15 минут!';
                }
            } else {
                $errors[] = 'Пользователь с таким email не найден!';
            }
        } else {
            $errors[] = 'Ошибка заполнения email!';
        }

        # Вывод ошибок
        if (!empty($errors)) {
            foreach ($errors as $error) {
                echo '<div class="alert alert-danger"><i class="fa fa-warning"></i> ' . $error . '</div>';
            }
        }
    }
    ?>

    <form class="contact-one__form" action="" method="POST">
        <input class="form-control" name="email" type="email" placeholder="Введите Email" style="text-align: left; width: 250px;" value="" required />
        <br>
        <div class="text-left">
            <button name="restore" type="submit" class="btn btn-primary">
                Восстановить пароль
            </button>
        </div>
    </form>
</div>

Это файл закинуть в папка /core/
молодец,спасибо. вот если бы был мини мануал,как это все настраивать,было замечательно.

и если бы все вынести в config было бы вообще огонь