如果輸入的跟蹤號錯誤或未在資料庫中退出,我如何顯示錯誤訊息或將用戶重定向到頁面。
我有一個表單,用戶在其中輸入跟蹤代碼,表單通過 post 發送到 php 跟蹤頁面。當輸入的跟蹤號錯誤時,我想將用戶回傳到表單頁面并顯示錯誤訊息。這是我的代碼謝謝。
<?php
if(isset($_POST['trackid']))
?>
<?php
$sql_query="SELECT * FROM tracking WHERE t_number=".$_POST['trackid'];
$result_set=mysqli_query($conn,$sql_query);
$fetched_row=mysqli_fetch_array($result_set,MYSQLI_ASSOC);
?>
<section class="quote-section">
<div class="auto-container">
<h2 class="text-center text-danger">Tracking Number #: <span class="text-success">SS-<?php echo $fetched_row['t_number'] ?></span></h2>
<div class="quote-form-box">
<!--Login Form-->
<form method="post" action="contact.html">
<script type="text/javascript"></script>
<section class="quote-section">
<div class="auto-container">
<div class="quote-form-box">
<!--tracking Form-->
</div>
<article class="card">
<header class="card-header">
<div class="bg-success border-success shadow ticker-wrapper-h">
<div class="heading"><span class="fa fa-bullhorn icon"></span>
</div>
<ul class="news-ticker-h">
<li class="font-weight-normal text-light">
<?php echo $fetched_row['marquee'] ?>
</li>
</ul>
</div>
</header>
<div class="card-body">
<h6>Tracking ID: SS-<?php echo $fetched_row['t_number'] ?></h6>
<article class="card">
<div class="card-body row">
<div class="col"> <strong>Estimated Delivery time:</strong> <br/>
<?php echo $fetched_row['date'] ?>
</div>
<div class="col"> <strong>Shipping BY:</strong> <br/>
<?php echo $fetched_row['c_name'] ?>, | <i class="fa fa-phone"></i>
<?php echo $fetched_row['c_number'] ?>
</div>
<div class="col"> <strong>Status:</strong> <br/>
<?php echo $fetched_row['t_status'] ?>
</div>
<div class="col"> <strong>Tracking #:</strong> <br/>
SS-<?php echo $fetched_row['t_number'] ?>
</div>
</div>
</article>
uj5u.com熱心網友回復:
您可以通過會話來做到這一點。像這樣更改代碼的開頭:
<?php
if(isset($_POST['trackid'])) {
$sql_query="SELECT * FROM tracking WHERE t_number=".$_POST['trackid'];
$result_set=mysqli_query($conn,$sql_query);
$fetched_row=mysqli_fetch_array($result_set, MYSQLI_ASSOC);
if (mysqli_num_rows($result_set) === 0) {
header('Location: <your form link here>');
session_start();
$_SESSION['error'] = 'Error message';
exit;
}
}
?>
因此,在您的表單頁面中添加:
<?php
session_start();
if (isset($_SESSION['error'])) {
echo $_SESSION['error'];
unset($_SESSION['error']);
}
?>
基本上,在您的視圖頁面上,正在檢查查詢中是否有任何行的回傳,如果沒有,它會執行以下操作:
- 添加標題以重定向到表單頁面;
- 開始一個會話;
- 將錯誤訊息保存在會話變數中;
- 關閉腳本。
您的表單頁面上發生了以下情況:
- 會話開始;
- 檢查帶有錯誤訊息的鍵是否存在;
- 如果存在,它會顯示一條訊息并洗掉會話變數索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471300.html
上一篇:SQLSTATE[42S02]:未找到基表或視圖:1146表'iop.servicecategories'不存在(SQL:從`servicecategories`中選擇*)
