• Почему nginx отдает php файл на закачку?

    @alex1478
    Нужно указать, что php файлы нужно не отдавать, а передавать на выполнение php-fpm
    https://wiki.debian.org/ru/nginx/nginx+php-fpm
    Ответ написан
    Комментировать
  • Как найти пользователей с таким же login/email?

    Fqyeh29
    @Fqyeh29
    ↓ ИМХО ↓
    1) Проверку надо делать через mysqli_num_rows
    if(mysqli_num_rows(mysqli_query($conn, 'SELECT * FROM userst WHERE email='.$_POST['email']))==0)

    2) email нужно обернуть в кавычки:
    if(mysqli_num_rows(mysqli_query($conn, 'SELECT * FROM userst WHERE email="'.$_POST['email'].'"'))==0)

    3) POST надо фильтровать, иначе взломают, читай о XSS/SQl инъекция
    Ответ написан
    6 комментариев
  • Можно ли сделать самоликвидацию файла на php?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Можно, но нужно много чего:
    1. Чтобы у скрипта были права на такое действие
    2. Чтобы этот скрипт запустили
    3. Чтобы не было копии
    Ответ написан
    2 комментария
  • Как получить строку после определенных символов?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    $re = '/<div class="col search_price discounted responsive_secondrow">
    <span style="color: #888888;"><strike>29,17 pуб\.<\/strike><\/span><br>(.*)<\/div>/m';
    $str = '<div class="col search_price discounted responsive_secondrow">
    <span style="color: #888888;"><strike>29,17 pуб.</strike></span><br>14,17 pуб.                    </div>';
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
    
    // Print the entire match result
    var_dump($matches);
    Ответ написан
    1 комментарий
  • Как получить строку после определенных символов?

    npanuhin
    @npanuhin
    Только первое вхождение: regex, код на php
    Все вхождения: regex, код на php
    Ответ написан
    Комментировать
  • Как сделать, чтобы кнопка работала с определенным объектом?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Простейший пример.
    some_page.php - страница на которой выводим список пользователей
    <?php
        //некий массив пользователей
        $users_list = [
            [
                'id' => 1,
                'login' => 'user_1',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => true,
            ],
            [
                'id' => 2,
                'login' => 'user_2',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => false,
            ],
            [
                'id' => 3,
                'login' => 'user_3',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => false,
            ],
            [
                'id' => 4,
                'login' => 'user_4',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => true,
            ],
            [
                'id' => 5,
                'login' => 'user_5',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => false,
            ],
            [
                'id' => 6,
                'login' => 'user_6',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => true,
            ],
            [
                'id' => 7,
                'login' => 'user_7',
                'last_visit_date' => '27.12.2019 14:31:15',
                'active' => true,
            ],
        ];
    ?>
    <html>
        <head>
            <style>
                table {
                    border: 0; 
                    border-collapse: collapse; 
                    padding:0
                }
                th, td {
                    border: 1px solid #000;
                    margin: 0;
                    padding: 10px;
                }
                th {
                    background-color: #ddd
                }
            </style>
        </head>
        <body>
            <table>
                <thead>
                    <tr>
                        <th>id</th>
                        <th>login</th>
                        <th>last_visit_date</th>
                        <th>active</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                        foreach($users_list as $user){
                            echo '<tr>',
                                '<td>', $user['id'], '</td>',
                                '<td>', $user['login'], '</td>',
                                '<td>', $user['last_visit_date'], '</td>',
                                '<td>', $user['active'] ? 'active' : 'banned', '</td>',
                                '<td><button class="delete_user" data-userid="', $user['id'],'">Удалить</button></td>',
                            '</tr>';
                        }
                    ?>
                </tbody>
            </table>
            <script type="text/JavaScript">
                
                Array.from(document.querySelectorAll('.delete_user'), function(el){
                    el.onclick = function(){
                        let xhr = new XMLHttpRequest();
                        let json = JSON.stringify();
                        xhr.open('POST', 'delete_user.php', true)
                        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                        xhr.responseType = 'json';
                        xhr.onreadystatechange = function(response) {
                            if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
                                
                                alert(xhr.response['msg'])
                                if(xhr.response['status'] === 'success'){
                                    el.closest('tr').remove();
                                }
                            };
                        }
                        xhr.send('userid='+this.dataset.userid);
                    }
                })
                
            </script>
        </body>
    </html>

    delete_user.php - страница, на которую первая делает AJAX-запрос на удаление пользователя

    <?php
    
        // Принимаем идентификатор пользователя
        // проверяем, админ вызвал удаление или нет 
        //(крч. проверяем право на удаление пользователей)
        // чтобы не левый чел всех не вынес
        try{
            $userid = (int)$_POST['userid'];
            $can_delete = 0; // якобы мы проверили, и можно удалять
            
            if(!$can_delete){
                throw new Exception('Вы не имеете права удалять других пользователей!!!');
            }
            /*
             * Куча доп. проверок после которых мы уверены что удалять мы
             * Отправляем запрос на удаление, смотрим есть ли ошибки, если все хорошо шлем статус 'success' 
             */
            
            echo json_encode(['status' => 'success', 'msg' => 'Пользователь №' . $userid . ' успешно удален!']);
            
        }
        catch(Exception $ex){
            /* попадаем сюда 
             * если возникла ошибка
             * или случилось исключение
             * шлем статус 'error' и текст ошибки
             */
            echo json_encode(['status' => 'error', 'msg' => $ex->getMessage()]);
             
        }

    Ответ написан
    Комментировать
  • Как сделать, чтобы кнопка работала с определенным объектом?

    mahmudchon
    @mahmudchon
    <button type="submit" id="<?= $user['id'] ?>">Удалить</button>

    Хочу заметить, что если ответ не решает Ваш вопрос, то не спешите считать ответ не верным. Быть может вопрос лишен необходимых подробностей. Спасибо.
    Ответ написан
    3 комментария
  • Как работать с postgresql в go?

    @dimuska139
    Backend developer
    Вот pgx. Смотри ридми - там пример коннекта и использования. Удобно юзать в связке с sqlx. Можешь еще gorm попробовать, но лично мне он не понравился.
    Ответ написан
    4 комментария