今天用來使用 Session 做警告(提示),它可以用來讓使用者知道他的動作使否有成功(例如修改成功時,跳出"修改成功"等字樣),也可以用來DEBUG(看警告是在哪個程序上出錯)。
另外今天的實作要跟第 9、10、11 天的文章做一併使用,但由於篇幅限制,我拿比較麻煩的 第11天(修改) 來做示範。
https://ithelp.ithome.com.tw/articles/10262436
首先請在你程式碼最上面加上下列內容,這樣 Session 才會有作用。
每一個有用到 【$_SESSION】 的都要加!!
<?php
session_start();
?>
再來是 Bootstrap警報(Alerts) 的使用,我選的是能關閉的。把它寫在你想出現的位置(根據你的HTML),
然後用 Session 做觸發。
<!--SESSION 是黃色提示的東東----------------------------------->
<?php
if (isset($_SESSION['status']) && $_SESSION != '')
{
?>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<!--strong 標籤是固定顯示的內容- 後面的 echo $_SESSION 才是會做變化的部分----------->
<!--然後注意一下自己Session取的名稱 $_SESSION['你取的名稱'];----------->
<strong>*******</strong> <?php echo $_SESSION['status']; ?>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?php
unset($_SESSION['status']); //跳出完警告,就立刻清除 Session
}
?>
昨天文章中 staff_edit.php 有段程式碼跟"修改 成功或失敗"有關的,我把它加入Session 去觸發警告框。
改完後如下:
<?php
/*儲存修改會員名稱*/
if(isset($_POST['staff_edit_btn']))
{
$st_name = $_POST['staff_edit'];
$st_id =$_POST['ST_ID'];
$query2="UPDATE staff
SET staff_name ='$st_name'
WHERE staff_id ='$st_id' ";
$query_run2 = mysqli_query($con,$query2);
if($query_run2)
{
//修改成功則回到上個頁面(或其他指定頁面)
$_SESSION['status'] =" 會員名稱改成功!!!!!!!!!!";
header('Location: Hello.php');
}
else
{
//修改失敗則停留在此頁面
$_SESSION['status'] =" 會員名稱修改失敗~~";
header('Location: staff_edit.php');
}
}
?>
成果如下
今天就先這樣,下次見。