![](/img/trans.png)
[英]PHP, submit form and redirect using header and echo out a success message?
[英]Echo success message after submitted form but before redirect and exit
不知道我在這方面做了多長時間,但看起來沒有任何效果。 我想要做的就是在重定向和退出之前輸出成功消息。
這是我檢查數據庫成功/失敗的原因
$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>");
}
如果它成功,它不會輸出任何回聲,我已經嘗試使用正確的刷新進行睡眠以嘗試輸出消息,但它根本不起作用。 有沒有更好的方法呢? 也有人可以解釋為什么它不會在標題和退出之前回顯?
問題是當你使用“標題”時它必須是第一個。 您無法在標題之前將任何其他內容打印到屏幕上。 這與您設置cookie時的情況相同。
因此,在您的情況下,您無法使用“標題”進行重定向。 您可以使用元刷新。
<meta http-equiv="refresh" content="0; url=http://www.somewebsite.com">
“內容”是刷新前等待的秒數。
您可以通過設置會話變量並在重新加載時檢查該變量的狀態來實現您想要的效果:
$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>
你必須更准確地解釋你想要完成的事情......比如第1步執行此步驟2執行此操作,依此類推。 以前我知道你曾經問過如何在回復消息后進行重定向。
所以現在解釋一下你想要做的更多細節,也許我可以提供幫助。
如果您的意思是用戶是一個“page1”並且他們提交了一個表單,然后在結果頁面上顯示該消息? 然后重定向...
您只需要使表單操作與他們當前所在頁面的URL路徑相同。
你聽懂了嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.