1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помощь PHP

Тема в разделе "Оффтопик", создана пользователем W_0rld, 10 июл 2015.

  1. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Пока имею небольшой одностраничный код сайта с кривым js скриптом смены контента.
    PHP:
    <html>
    <head>
    <link rel="stylesheet" href="storage/style.css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="storage/jquery.js" type="text/javascript"></script>
    <?php include '/content/menu.html'?>
    </head>
    <body>
    <div id="newsblock">
    <?php include '/content/news.html'?>
    </div>
    <div id="startblock" style="display:none" class="content">
    <?php include '/content/startgamepage.html'?>
    </div>
    </body>
    <script>
    $(document).ready(function(){
    $("#news").click(function(){
    $("#newsblock").show("swing");
    $("#startblock").hide(0);
    return false;
    });
    });
    $(document).ready(function(){
    $("#start").click(function(){
    $("#startblock").show();
    $("#newsblock").hide("swing");
    return false;
    });
    });
    </script>
    </html>
    Цель сайта - просто рега и скачивание лаунчера, а также вывод новостей.
    Настрочите регу на PDO, с проверками и защитой от инъекций, ибо все уроки кривые и зачастую на mysql. И подскажите, что лучше для небольшого контента подгрузка из файлов или всё-таки сделать вывод новостей и страниц из mysql?

    P.S кому интересно скрин:
    1.png
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    В PDO юзай подготовленные запросы и все.
     
  3. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    А где они? Я в сашке лазил, там не понятно что к чему. Мне нужен только login, password и ip.
     
  4. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Чуть изучил php, самое время писать cms, иди лучше ооп и mvc изучай. Полезнее будет.
    Facepalm
    Код:
    <script>
    $(document).ready(function(){
    $("#news").click(function(){
    $("#newsblock").show("swing");
    $("#startblock").hide(0);
    return false;
    });
    });
    $(document).ready(function(){
    $("#start").click(function(){
    $("#startblock").show();
    $("#newsblock").hide("swing");
    return false;
    });
    });
    </script>
    
    True code
    Код:
    $(function(){
        $(document).on('click','#news',function(e){
            e.preventDefault();
            $('#newsblock').show('swing');
            $("#startblock").hide(0);
        });
        $(document).on('click','#start',function(e){
            e.preventDefault();
            $('#startblock').show();
            $('#newsblock').hide('swing');
        });
    });
    
    А лучше сделать так.
    http://jsfiddle.net/UltraShock/m4ezu9g0/
     
    Последнее редактирование: 10 июл 2015
  5. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Не поможешь ли с кодом реги? Тупо 2 поля, логин и пароль, а также автоматом должен узнать ip. Все записывается в бд. А дальше я уже сам капчу от гугла поставлю и регу разрешу только на один ip.
    Просто обработчик нужен.
     
  6. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    PHP:
    if (isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['confirm'])) {
        
    $msg = [];
        
    $msgs '';
        if (empty(
    $_POST['login'])) {
            
    $msg[] = 'Вы не ввели логин';
        } else {
            
    $stmt $db->prepare('SELECT * FROM you_table WHERE login=:login');
            
    $stmt->execute(array(
                
    'login' => $_POST['login'],
            ));
            if (!empty(
    $stmt->fetch(PDO::FETCH_ASSOC))) {
                
    $msg[] = 'Данный логин уже зарегистрирован';
            }
        }
        if (empty(
    $_POST['pass']) || empty($_POST['confirm'])) {
            
    $msg[] = 'Вы не ввели пароль или не повторили его';
        } elseif (
    $_POST['pass'] != $_POST['confirm'])  {
            
    $msg[] = 'Пароли не совпадают';
        }
        if (
    count($msg) == 0) {
            
    $stmt $db->prepare('INSERT INTO you_table (login,pass,ip) VALUES (:login,:pass,:ip)');
            
    $stmt->execute(array(
                
    'login' => htmlspecialchars($_POST['login']),
                
    'pass' => htmlspecialchars($_POST['pass']),
                
    'ip' => $_SERVER['REMOTE_ADDR'],
            ));
            echo 
    'Вы успешно зарегистрировались';
        } else {
            foreach (
    $msg as $k$msgs .= '<br>'.$k;
            echo 
    $msgs;
        }
    }
    HTML:
    <form method="post">
        <input type="text" name="login" placeholder="Логин">
        <input type="text" name="pass" placeholder="Пароль">
        <input type="text" name="confirm" placeholder="Повторите">
        <button type="submit">Зарегистрироваться</button>
    </form>
    
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Проверять лузвера до ввода пароля, красавчик че. Говорил же что говнокодер ). И нахрена тебе htmlspecialchars ? Поставь простой прегматч на нужные символы htmlspecialchars тебя не спасет от китайских ников и паролей. Повезло что я не видел остальные твои работы).
     
  8. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Я писал общий пример, а не нацеленно. Писать регулярку здесь не. Тут нету никакой структуры...
    Его можно просто переместить на другой else, я на своих cms по другому пишу. ТС не просил капч и всего остального.
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну да ну да. Пусть регают кирилицу и прочее говно и потом на сервер будут ломится с уникодом в нике ок да.
     
  10. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Не я пишу эту псевдо cms не мне думать о этом.
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Отмазка на миллион.
     
  12. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Как скажешь.
     
  13. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Почитал, что-то встревожился, может есть гайд реги полноценной где-нибудь?
     
  14. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Всё иди кароч. Всем плевать на твои проблеммы. Нужна cms иди заказывай
     
  15. Olokot

    Olokot Активный участник

    Баллы:
    61
    Имя в Minecraft:
    kott9ra
    ТС, юзай ПС
    Примерные запросы:
    регулярные выражения для логина/пароли на php/js/c/c++/python/ruby/java/прочее

    Если ты совсем ленивый используй готовые решения (фреймворки), там все уже за тебя сделали.
     

Поделиться этой страницей