Несколько запросов к одному и тому же файлу (при указании разных значений get)

#php #jquery #ajax

#php #jquery #ajax

Вопрос:

У меня есть один файл, который отправляет запросы AJAX / jQuery в другой файл. Теперь у меня есть куча запросов, которые я отправляю в один и тот же файл, за исключением того, что я обозначаю, что я хотел бы сделать, указав параметр get, например:

edit.php:

     function change_color_theme(new_theme) {
        $.get('ajax_querys.php?t=change_color_themeamp;new_theme='   new_theme);
        window.location.href = "Edit.php";
    }

    function changeName(val) {
        $.get("ajax_querys.php?t=enamp;val="   val, {}, function(response) {
            var source = $('<div>'   response   '</div>');
            $('.test_title_body').html(source.find('#form_name_ret').html());
        });
    }

    function refresh_collab_pane() {
        $.get('ajax_querys.php?t=update_collab_list', function(response) {
            var source = $('<div>'   response   '</div>');
            // document.getElementById("collab_list_infop").innerHTML = response;
            $('#collab_list_infop').html(source.find('#returned_collab_list').html());
        });
    }

//There are many more requests, these are just a select few. If you notice, I am specifying the action that I want to perform in the get param called "t". Now take a look at my ajax queries page
  

ajax_queries.php:

 if ($_GET['t'] = "en") {
    if (isset($_GET['val'])) {
        $striped_val = filter_single($_GET['val']);
        if (empty($striped_val)) {
            if ($_SESSION['form_type'] == "q") {
                $striped_val = "TQuiz";
            } else {
                $striped_val = "TSheet";
            }
        }
        $query = "SELECT * FROM forms";
        $i = 0;
        $exec_q = mysqli_query($conn, $query);
        while ($row = mysqli_fetch_array($exec_q)) {
            if (strpos($row['name'], $striped_val) !== false) {
                $i  ;
            }
        }
        if ($i == 0) {
            $i = "";
        }
        $striped_val = $striped_val . " " . $i;
        $pre_stmt = "UPDATE forms SET `name` = ? WHERE `id` = ?";
        $stmt = mysqli_stmt_init($conn);
        if (!$stmt = mysqli_prepare($conn, $pre_stmt)) {
            ?>
            <script>
                alert('Sorry! There was an issue proccesing your request. Please reload the page.')
            </script>

        <?php
        }
        mysqli_stmt_bind_param(
            $stmt,
            "si",
            $striped_val,
            $_SESSION['form_id']
        );
        mysqli_stmt_execute($stmt);
        $_SESSION['form_name'] = $striped_val;
        ?>
        <?php echo "<p id='form_name_ret'>$_SESSION[form_name]</p>" ?>
    <?php
    }
}

if ($_GET['t'] == "change_color_theme") {
    if (isset($_GET['new_theme'])) {
        $pre_stmt = "SELECT * FROM forms WHERE id=?";
        $stmt = mysqli_stmt_init($conn);
        if (!$stmt = mysqli_prepare($conn, $pre_stmt)) {

            ?>
            <script>
                alert('Sorry! There was an issue proccesing your request. Please reload the page.')
            </script>

        <?php
        }
        mysqli_stmt_bind_param(
            $stmt,
            "i",
            $_SESSION['form_id']
        );
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        $row = mysqli_fetch_array($result);
        $json = json_decode($row['details'], true);
        $theme = "";
        if ($_GET['new_theme'] == "horizon") {
            $theme = "horizon";
        } elseif ($_GET['new_theme'] == "happy_green") {
            $theme = "happy_green";
        } elseif ($_GET['new_theme'] == "deep_purple") {
            $theme = "deep_purple";
        } elseif ($_GET['new_theme'] == "lemon_pop") {
            $theme = "lemon_pop";
        } elseif ($_GET['new_theme'] == "funky_black") {
            $theme = "funky_black";
        } elseif ($_GET['new_theme'] == "color_smoothie") {
            $theme = "color_smoothie";
        } else {
        }

        $json['theme'] = $theme;
        $json = json_encode($json, JSON_FORCE_OBJECT);

        $pre_stmt = "UPDATE forms SET details=? WHERE id=?";
        $stmt = mysqli_stmt_init($conn);
        if (!$stmt = mysqli_prepare($conn, $pre_stmt)) {

        ?>
            <script>
                alert('Sorry! There was an issue proccesing your request. Please reload the page.')
            </script>

            <?php
        }
        mysqli_stmt_bind_param(
            $stmt,
            "si",
            $json,
            $_SESSION['form_id']
        );
        mysqli_stmt_execute($stmt);

        $_SESSION['refresh_param-loader'] = 0;
        $_SESSION['refresh_param-click'] = "themes";
        $_SESSION['refresh_param-theme_notification'] = 1;
    }
}

if ($_GET['t'] = "update_collab_list") {
    $pre_stmt = "SELECT * FROM forms WHERE id=?";
    $stmt = mysqli_stmt_init($conn);
    if (!$stmt = mysqli_prepare($conn, $pre_stmt)) {

    ?>
        <script>
            alert('Sorry! There was an issue proccesing your request. Please reload the page.')
        </script>

    <?php
    }
    mysqli_stmt_bind_param(
        $stmt,
        "i",
        $_SESSION['form_id']
    );
    mysqli_stmt_execute($stmt);
    $result = mysqli_stmt_get_result($stmt);
    $row = mysqli_fetch_array($result);
    ?>
    <div id="returned_collab_list">
        <?php
        foreach (json_decode($row['owners']) as $index =>  $values) {
            $pre_stmt1 = "SELECT * FROM users WHERE email=?";
            $stmt1 = mysqli_stmt_init($conn);
            if (!$stmt1 = mysqli_prepare($conn, $pre_stmt1)) {

        ?>
                <script>
                    alert('Sorry! There was an issue proccesing your request. Please reload the page.')
                </script>

            <?php
            }
            mysqli_stmt_bind_param(
                $stmt1,
                "s",
                $values->email
            );
            mysqli_stmt_execute($stmt1);
            $result1 = mysqli_stmt_get_result($stmt1);
            $count_of_rows = mysqli_num_rows($result1);
            $row1 = mysqli_fetch_array($result1);
            $info_decoded = json_decode($row1['notes']);
            if ($count_of_rows > 0) {
                $color_of_pfp = $info_decoded->notes->color;
                $name = $row1['first_name'] . " " . $row1['last_name'];
            } else {
                $color_of_pfp = "grey";
                $name = $values->email;
            }
            if ($name == $values->email) {
                $initials = $values->email[0];
            } else {
                $arr_sep_name = preg_split("[s]", $name);
                $initials = $arr_sep_name[0][0] . $arr_sep_name[1][0];
            }

            ?>
            <li class="list-group-item bg-transparent colllab_li d-flex justify-content-between align-items-center">
                <div class="d-flex">

                    <span class="listed_pfp_collab pfp_<?= $color_of_pfp ?> overlap_pfp_top"><?= $initials ?></span>
                    <div class="d-flex align-items-center collab_li_cont ">
                        <span class="collab_name_listed">
                            <span class="name"><?php echo $name . " ";
                                                echo ($values->email) == $_SESSION['email'] ? "(You)" : "" ?></span>
                            <?php
                            if ($values->position == "n/a") {
                            ?>
                                <span class="status text-muted">
                                    <i class="fas fa-circle text-muted"></i>Inactive | <span class="text-dark ml-1"> <?= $values->email ?></span>
                                </span>
                            <?php
                            } else {
                            ?>
                                <span class="status text-success">
                                    <i class="fas fa-circle text-success"></i>Active | <span class="text-dark ml-1"> <?= $values->email ?></span>
                                </span>
                            <?php
                            }
                            ?>

                        </span>

                    </div>
                </div>
                <?php
                if ($_SESSION['form_access_level'] == "admin") {
                ?>
                    <div class="d-flex align-items-center select_times_collab_cont">
                        <select class="select_admin_not resizeselect <?php echo ($values->access) == "admin" ? "admin_badge_select" : "editor_badge_select" ?>" data-toggle="tooltip" data-placement="top" id="<?= $values->email ?>" <?php if ($values->email == $_SESSION['email']) {
                                                                                                                                                                                                                                            echo 'disabled title="You can't change your own tier of access"';
                                                                                                                                                                                                                                        } else {
                                                                                                                                                                                                                                            echo 'onchange="changeAccessCollaborator(this)"';
                                                                                                                                                                                                                                        } ?>>
                            <option <?php echo ($values->access) == "admin" ? 'selected' : "" ?> value="Administrator">Administrator</option>
                            <option <?php echo ($values->access) == "editor" ? 'selected' : "" ?> value="Editor">Editor</option>
                        </select>
                        <div class="menu_tripdot_cont_collab_pane">
                            <i class="far fa-ellipsis-v text-dark" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></i>
                            <div class="dropdown-menu">
                                <a class="dropdown-item" onclick="triggerRemoveCollabModal(this.parentElement.parentElement.parentElement.children[0])" href="#">
                                    <span class="remove_text">Remove</span>
                                </a>
                            </div>
                        </div>
                    </div>
                <?php
                }
                ?>
            </li>
        <?php
        }


        ?>

    </div>

    <?php
    // echo '<p id="testing_msg">This is working ok.</p>';
}

  

Существует много (я перечислил только несколько) запросов, которые отправляются в «ajax_queries.php «. Они различаются из-за параметра get . Страница запросов AJAX содержит условные обозначения для определения того, что она должна делать. Теперь проблема в том, что всякий раз, когда я изменяю существующее условие или добавляю новое, остальные перестают работать. Чтобы заставить их снова работать, я должен переместить их в начало страницы. Но есть некоторые условные обозначения, которые продолжают работать, даже если я создаю новые или изменяю существующие, например, «refresh_collab_pane» всегда работает.