PHP项目分类操作提示异常:点击按钮同时显示两类成功信息
问题解决:点击对应按钮仅显示分类操作的对应成功提示
问题原因
你当前的代码中,添加分类和删除分类模块都使用了同一个$_GET['ok']参数触发成功提示,没有区分操作类型。只要URL中存在ok参数,两个模块的成功提示都会被渲染,导致点击任意按钮后两个提示同时显示。
解决方案
给不同操作设置唯一标识参数,后端跳转时传递对应标识,前端根据标识判断显示对应提示。
步骤1:修改后端跳转逻辑
在addcategory_steps.php(添加分类处理页)中,添加成功后跳转时传递add_ok参数:
// 添加成功后的跳转示例 header("Location: 你的当前页面.php?add_ok=1"); exit();
在deletecategory_steps.php(删除分类处理页)中,删除成功后跳转时传递delete_ok参数:
// 删除成功后的跳转示例 header("Location: 你的当前页面.php?delete_ok=1"); exit();
如果需要区分错误类型,也可以把通用的error参数拆分为add_error和delete_error,按需调整。
步骤2:修改前端判断逻辑
调整页面中的提示模块,分别根据对应标识参数判断是否显示:
<main> <section class="category__title-container"> <h1 class="category__title"> Add Category </h1> </section> <section class="error"> <?php if(isset($_GET['error'])) { echo '<font color="red">'.$_GET['error'].'</font>'; echo '<br><br>'; } if(isset($_GET['add_ok'])) { echo '<font color="blue">Category successfully added!</font>'; echo '<br><br>'; } ?> </section> <section class="add_information-section"> <form action="addcategory_steps.php" method="post"> <div class="add_information grid"> <div class="add_information-box"> <h1 class="add_information-title"> Category Name </h1> <input type="text" name="category_name" id="" placeholder="category_name"> </div> <div class="add_information-box"> <h1 class="add_information-title"> Category Image </h1> <input type="text" name="category_image" id="" placeholder="category_image"> </div> </div> <input type="submit" value="Add Category" class="button"> </form> </section> <section class="category__title-container"> <h1 class="category__title"> Delete Category </h1> </section> <section class="error"> <?php if(isset($_GET['error'])) { echo '<font color="red">'.$_GET['error'].'</font>'; echo '<br><br>'; } if(isset($_GET['delete_ok'])) { echo '<font color="blue">Category successfully deleted!</font>'; echo '<br><br>'; } ?> </section> <section class="add_information-section"> <form action="deletecategory_steps.php" method="post"> <div class="add_information grid"> <div class="add_information-box"> <h1 class="add_information-title"> Category Name </h1> <input type="text" name="category_name" id="" placeholder="category_name"> </div> <div class="add_information-box"> <h1 class="add_information-title"> Category Image </h1> <input type="text" name="category_image" id="" placeholder="category_image"> </div> </div> <input type="submit" value="Delete Category" class="button"> </form> </section> </main>
(注:原代码中重复了<main>标签,已修正为单个<main>包裹所有内容)
补充说明
如果需要更精准的错误提示,可以将通用error参数拆分为add_error和delete_error,这样添加操作出错时仅在添加模块显示错误,删除操作出错时仅在删除模块显示错误,进一步优化用户体验。
内容的提问来源于stack exchange,提问作者Ng Ji Seng
相关产品推荐
相关产品推荐

