如果跟踪 ID 错误或无效,我如何显示错误消息或将用户重定向到页面
How do i display a error message or redirect a user to a page if tracking id is wrong or invalid
如果输入的跟踪编号错误或未在数据库中存在,我如何显示错误消息或将用户重定向到页面。
我有一个表单,用户可以在其中输入跟踪代码,表单通过 post 发送到 php 跟踪页面。我想 return 用户在输入的跟踪号码错误时返回表单页面并显示错误消息。这是我的代码,谢谢。
<?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>
您可以用 session 来做到这一点。像这样更改代码的开头:
<?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']);
}
?>
基本上,在您的视图页面上,正在检查查询中是否有任何行的 return,如果没有,它会执行以下操作:
- 添加一个header重定向到表单页面;
- 开始 session;
- 将错误信息保存在session变量中;
- 关闭脚本。
您的表单页面上发生了以下情况:
- session 开始;
- 检查带有错误消息的密钥是否存在;
- 如果它存在,它会显示一条消息并删除 session 变量索引。
如果输入的跟踪编号错误或未在数据库中存在,我如何显示错误消息或将用户重定向到页面。
我有一个表单,用户可以在其中输入跟踪代码,表单通过 post 发送到 php 跟踪页面。我想 return 用户在输入的跟踪号码错误时返回表单页面并显示错误消息。这是我的代码,谢谢。
<?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>
您可以用 session 来做到这一点。像这样更改代码的开头:
<?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']);
}
?>
基本上,在您的视图页面上,正在检查查询中是否有任何行的 return,如果没有,它会执行以下操作:
- 添加一个header重定向到表单页面;
- 开始 session;
- 将错误信息保存在session变量中;
- 关闭脚本。
您的表单页面上发生了以下情况:
- session 开始;
- 检查带有错误消息的密钥是否存在;
- 如果它存在,它会显示一条消息并删除 session 变量索引。