Эхо-сообщение об успешном завершении после отправки формы, но до перенаправления и выхода - PullRequest
0 голосов
/ 17 февраля 2019

Не знаю, как долго я работал над этим, но, похоже, ничего не работает.Все, что я хочу сделать, это вывести сообщение об успешном завершении, прежде чем оно перенаправит и завершит работу.

Это то, что я должен проверить на успех / неудачу в базе данных

$sql = ("INSERT INTO test3 (test1, betvalue, bookmaker, status, aktiv) VALUES ('$bettype', '$betvalue', '$bookmaker', '$status', '$aktiv')");

    $result = mysqli_query($conn, $sql);
    if(mysqli_affected_rows($conn) >0 ) {
      echo "Wow it works";                    <-- Not working
      header("Location: nybonus.php");
      exit;
    } else {
      echo ("<div class='alert alert-danger' role='alert'>" . $sql . "</div><div class='alert alert-danger' role='alert'>" . mysqli_error($conn) . "</div>");
    }

Он не выводит никакихэхо, если это было успешно, я попытался заставить его спать с правильной очисткой, чтобы попытаться вывести сообщение, но это не работает вообще. Есть ли лучший способ сделать это? Также кто-то может объяснить, почему он не будет отображаться перед заголовком и завершиться?

Ответы [ 3 ]

0 голосов
/ 17 февраля 2019

Можете ли вы достичь желаемого, установив переменную сеанса и проверив состояние этой переменной при перезагрузке:

$message = '';
if(isset($_SESSION['success'])) {
    if($_SESSION['success'] == 'success') {
        $message = 'Success';
    }
}

$sql = ("INSERT INTO test3 (test1, betvalue, bookmaker, status, aktiv) VALUES ('$bettype', '$betvalue', '$bookmaker', '$status', '$aktiv')");
mysqli_query($conn, $sql);
if(mysqli_affected_rows($conn) > 0) {
    $_SESSION['success'] = 'success';             
    header('Location: nybonus.php');
    exit;
}
else {
    $_SESSION['success'] = 'fail';
    ..... 
}

<script>
$("#message").fadeOut(2000, function() {
    $("#message").fadeIn(0, function() {
        document.getElementById("message").innerHTML ="<br>";

    });
});
</script>

<div id="message">
    <?php echo $message; ?>
</div>
0 голосов
/ 18 февраля 2019

Вам нужно будет объяснить, что вы пытаетесь выполнить более точно ... как шаг 1, сделать этот шаг 2, сделать это и так далее.Ранее я понял, что вы спрашивали, как выполнить перенаправление после отображения сообщения.

Итак, теперь объясните более подробно в шагах, что вы хотите сделать, и, возможно, я могу помочь.

Если вызначит, у пользователя одна «страница1», и они отправляют форму, а затем на полученной странице вы хотите отобразить сообщение?Затем перенаправьте ...

Вам просто нужно сделать так, чтобы действие формы совпадало с URL-адресом страницы, на которой они находятся в данный момент.

Следите ли вы за мной?

0 голосов
/ 17 февраля 2019

Проблема в том, что когда вы используете «заголовок», он должен быть первым.Вы не можете распечатать что-либо еще на экране до заголовка.Это то же самое, что и при настройке файлов cookie.

Так что в вашем случае вы не можете выполнить перенаправление с помощью «заголовка».Вы можете использовать метаобновление.

<meta http-equiv="refresh" content="0; url=http://www.somewebsite.com">

«Содержимое» - это количество секунд ожидания перед обновлением.

...