亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 PHP 在重定向頁面上獲取警報通知?

如何使用 PHP 在重定向頁面上獲取警報通知?

PHP
POPMUISE 2023-04-21 10:24:08
我創建了一個 HTML 表單來更新我的帖子。所以我使用 header() 函數將頁面重定向到更新頁面,這樣我就可以看到更改。但我想在重定向頁面上回顯一條消息。我已經嘗試過這段代碼,但這只適用于同一頁面,而不適用于重定向頁面。<?php$query_2 = "UPDATE posts SET post_image = '$post_image' WHERE post_id = $post_id ";    $query_2 .= "AND LENGTH('$post_image') > 0 AND post_image <> '$post_image' ";    $editPostImg = mysqli_query($connection, $query_2);     if (!$editPostImg) {        die("Something went wrong.<br>" . mysqli_error($connection));      }            header("Location: posts.php?source=edit_posts&p_id=$post_id");    echo "<p class='alert alert-success'><strong>Post Updated!</strong> <a href='../post.php?p_id=$post_id' class='alert-link' target='blank'>View Post</a><a href='' class='close' data-dismiss='alert'>x</a></p>";}    ?>
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

在以下代碼行之后:

header("Location:?posts.php?source=edit_posts&p_id=$post_id");

用戶將被重定向到新頁面,并且不會看到在 header 指令之后執行的代碼。要顯示消息,您必須將消息作為 GET 或 POST 參數提交。而第一個選項將更容易。

您的代碼對SQL 注入是完全開放的,應該使用參數化的準備語句。您可以使用PDO或MySQLi。我使用 PDO 構建解決方案,但取決于您。

因此,您可以按如下方式調整腳本:

<?php


try{


? ? //Create new PDO Object

? ? $conn = new PDO("mysql:host=HOST;port=PORT;dbname=DBNAME", USERNAME, PASSWORD);


? ? //Define query

? ? $query = $this->conn->prepare("UPDATE posts SET post_image = :postimage WHERE?

? ? post_id = :postid AND LENGTH(post_image) > 0 AND post_image <> :postimage");

? ? $query->bindValue("postimage", $post_image);

? ? $query->bindValue("postid", $post_id);

? ? $query->execute();


? ? //Redirect user and add success message as GET parameter

? ? header("Location: posts.php?source=edit_posts&p_id=$post_id&update=success");


? ? //Make sure script is terminated

? ? exit();


}? catch(Exception $ex){


? ?//Log error

? ?error_log($ex->getMessage());


? ?//Show user custom error message

? ?echo "Something went wrong";


? ?//Make sure script is terminated

? ?exit();

}

?>

在目標頁面 (posts.php) 上,您可以插入如下代碼片段:


<?php?


if(isset($_GET['update']) && $_GET['update'] == "success"){

? ? echo "<p class='alert alert-success'><strong>Post Updated!</strong> <a href='../post.php?p_id=$post_id' class='alert-link' target='blank'>View Post</a><a href='' class='close' data-dismiss='alert'>x</a></p>";

}


?>


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 117 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號