Обновление страницы после успешной команды sql - PullRequest
1 голос
/ 26 апреля 2019

Я работаю над сценарием, который отвечает за обновление страницы после успешного обновления. Я использую метод GET для передачи информации. У меня есть кнопка «чтение», которая при нажатии обновляет мою базу данных и отвечает за обновление страницы. В настоящее время я использую эту функцию для создания моей таблицы:

function fetch_message($patient_ssn, $physician_ssn) {
    global $conn, $key, $iv;

    //Create query to fetch data
    $query = "SELECT message_ID, message_body, date_message, time_message, read_message FROM message WHERE patient_SSN='$patient_ssn' AND physician_SSN='$physician_ssn'";
    $result = mysqli_query($conn, $query);
    while($row = mysqli_fetch_row($result)) {
        //Enter table data here
        if($row[4] == 0) {
            echo '<tr class="table-danger">';
        } elseif($row[4] == 1) {
            echo '<tr class="table-success">';
        }
            echo "<td>$row[0]</td>";
            $decrypted_message = decrypt_text($row[1], $key, $iv);
            echo "<td>$decrypted_message</td>";
            echo "<td>$row[2]</td>";
            echo "<td>$row[3]</td>";
            //Checkbox setup
            if($row[4] == 0) {
                echo "<td><input type='submit' name='read' value='Confirm $row[0]'</td>";
            } elseif($row[4] == 1) {
                echo "<td><lable>Confirmed</lable></td>";
            }

        echo '</tr>';
    }
    echo '<tr>';
    echo '<th class="text-center" colspan="2" scope="row"><input type="submit" value="Update" name="update"</th>';
    echo '</tr>';
}

И эта функция для вызова моего обновления:

function update_check($message_id, $patient_ssn, $physician_ssn) {
    global $conn;

    $query = "UPDATE message SET read_message='1' WHERE message_ID='$message_id' AND patient_SSN='$patient_ssn' AND physician_SSN='$physician_ssn'";
    $result = mysqli_query($conn, $query);
    if($result) {
        echo "success";
    }
}

Проблема, с которой я столкнулся, заключается в том, что после нажатия кнопки я хочу обновить таблицу и обновить страницу до messaging.php . Вот как я пытаюсь перенаправить

fetch_message($_SESSION['ssn'], $_SESSION['phy_ssn']);
                            //Update button has been clicked
                            if(isset($_GET['read'])) {
                                $message_id =explode(' ' , $_GET['read']);
                               update_check($message_id[1], $_SESSION['ssn'], $_SESSION['phy_ssn']);
 echo "<meta http-equiv='refresh' content='0' URL='messaging.php'>";
}

(я также пытался использовать заголовок («Location: messaging.php»), но я получаю сообщение об ошибке:

заголовок не может быть изменен

Возможно, потому что я использую session_start(); вверху моего скрипта. С метатегом это работает, но он начинает делать быстрые обновления без остановки.

URL выглядит так:

http://localhost/455Project/messaging.php?read=Confirm+2 

Я довольно озадачен тем, каков надлежащий процесс для реализации этого. Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 26 апреля 2019

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

КСТАТИ. попробуйте использовать подготовленные операторы SQL. Это безопаснее.

0 голосов
/ 26 апреля 2019

попробуйте использовать этот метод PHP.header("refresh: 3");

...