Запрос обновления с модальным Bootstrap получает неопределенный индекс

Я пытаюсь закончить свою новую личную CMS (систему управления контентом), и я запрограммировал один раздел, который включает в себя вставку, выбор и удаление элемента на одной странице с помощью PHP, MySql и bootstrap Modal. очевидно, у меня проблемы с запросом на обновление. Процесс заключается в том, что когда я нажимаю кнопку редактирования, появляется модальный Bootstrap, затем ассоциированные данные извлекаются из формы Mysql по атрибуту значения. после этого я меняю их и нажимаю кнопку отправки. Проблема здесь! Когда процесс завершен, появляются ошибки из моего $_POST['input_result']. var_dump получает NULL, и, наконец, у меня есть неопределенный индекс. Есть кто разбирается в этой проблеме??? Спасибо вам всем. вот мой модальный код Bootstrap с PHP:

<?php
    $selectForUpdate = "SELECT * FROM ring WHERE id='4'";
    $resultSelectForUpdate = mysqli_query($connect_to_db, $selectForUpdate);

    $first = $second = $third= '';
    $first = $_POST['u_ringCode'];
    $second = $_POST['u_ringWeight'];
    $third = $_POST['u_ringComment'];

    $updateQuery = "UPDATE ring SET ring_code='".$first."', ring_weight='".$second."', ring_comment='".$third."' WHERE id='4'";
    $resultUpdateQuery = mysqli_query($connect_to_db, $updateQuery);
    while ( $showUpdateRows = mysqli_fetch_assoc( $resultSelectForUpdate ) ) {
?>
    <!-- Update Modal -->
    <div class="modal fade bs-example-modal-sm" id="update-4" tabindex="-1" role="dialog" aria-labelledby="update-4-label" >
        <div class="modal-dialog modal-sm" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h5 class="modal-title text-center" id="update-4-label" style="color:#ddd;" >
                        Edit Code
                    </h5>
                </div>
                <div class="modal-body">
                    <div class="col-md-12 col-sm-12 col-xs-12">
                        <form method="post" action="<?=htmlspecialchars($_SERVER["PHP_SELF"]);?>">
                            <div class="form-group">
                                <label for="">Ring Code :</label>
                                <input type="text" class="form-control" id="" name="u_ringCode" placeholder="" value="<?=$showUpdateRows['ring_code']?>">
                            </div>
                            <div class="form-group">
                                <label for="">Ring Weight :</label>
                                <input type="text" class="form-control" id="" name="u_ringWeight" placeholder="" value="<?=$showUpdateRows['ring_weight']?>">
                            </div>
                            <div class="form-group">
                                <label for="">Comment :</label>
                                <input type="text" class="form-control" id="" name="u_ringComment" placeholder="" value="<?=$showUpdateRows['ring_comment']?>">
                            </div>
                        </form>
                    </div>
                </div>
                <div class="modal-footer">
                    <a type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button>
                    <a type="submit" class="btn btn-default pull-left" name="ringDelete" style="color:black;" href="?update=4">Submit</a>
                </div>
            </div>
        </div>
    </div>
<?php
    }
?>

person Hamed    schedule 09.06.2016    source источник
comment
почему ты не используешь кнопку отправки   -  person Abhishek Gurjar    schedule 09.06.2016


Ответы (2)


Ваша переменная $_POST пуста перед отправкой формы. Вы должны проверить это. Также это небезопасный способ делать запросы к БД без экранирования строки. Вы можете узнать больше об этом с поиском MySQL-инъекций. И в-третьих, вы получаете элементы перед запросом на обновление. В этом случае вы увидите неизмененные данные на своей странице. Только после обновления страницы будут показаны новые значения. Первая часть вашего кода может выглядеть так:

<?php
if(!empty($_POST['u_ringCode'])&&!empty($_POST['u_ringWeight'])&&!empty($_POST['u_ringComment']))
{
    $first = $connect_to_db->escape_string($_POST['u_ringCode']);
    $second = $connect_to_db->escape_string($_POST['u_ringWeight']);
    $third = $connect_to_db->escape_string($_POST['u_ringComment']);
    $updateQuery = "UPDATE ring SET ring_code='$first', ring_weight='$second', ring_comment='$third' WHERE id='4'";
    $resultUpdateQuery = mysqli_query($connect_to_db, $updateQuery);
}
$selectForUpdate = "SELECT * FROM ring WHERE id='4'";
$resultSelectForUpdate = mysqli_query($connect_to_db, $selectForUpdate);


while ( $showUpdateRows = mysqli_fetch_assoc( $resultSelectForUpdate ) ) {
    ?>
person Yury    schedule 09.06.2016

person    schedule
comment
Работает дружище! Большое спасибо. Я надеюсь, что вы получите лучшие мысли, которые вы хотите: D - person Hamed; 09.06.2016
comment
Спасибо, я очень рад помочь вам - person Kuldeep Singh; 09.06.2016