首页 > 解决方案 > 当有两个按钮时,如果用户在单击按钮 1-Javascript 或 html 之前尝试单击按钮 2,如何显示错误消息

问题描述

我已经使用 php 创建了用户配置文件信息更新。为了更新他的图像,我所做的就是先让他删除图像并要求他上传新图像。如果用户不小心单击了图像更新按钮而没有单击图像删除按钮,如何将错误消息显示为“请先删除您的图像,然后上传新图像”。我找不到任何方法。非常感谢您的帮助 给出以下是我的代码

<div class="form-group">
    <center><label>Update A New Profile Picture </label></br></center>
        <form method="post" action="update_userinfo.php" enctype="multipart/form-data">
                <center><img id="uploadPreview4" style="width: 100px; height: 100px;" /></center>
                <center><input type="file" name="Filename4" id="uploadImage4" onchange="PreviewImage4();" class="form-group"><input TYPE="submit" name="updateImage" value="Update Image" class="btn btn-success" /></center>

        </form>
</div>
<div class="col-md-6">
    <center><label>Your Current Profile Picture </label></br>
        <form method="post" action="update_userinfo.php" enctype="multipart/form-data" onSubmit="if(!confirm('Do You really want to update your profile picture?')){return false;}">
            <?php
            echo "<img border=\"0\" src=\"".$row['image_path4']."\" width=\"100\"  height=\"100\" >";
            echo "<br>";  ?>
        <input TYPE="submit" name="delete" value="delete" class="btn btn-success" />
        </form>
</div>

标签: javascripthtml

解决方案


如果您真的想使用 PHP 来处理这个问题,我能想到的就是这个,

考虑到这是您当前的代码

<div class="form-group">
    <center><label>Update A New Profile Picture </label></br></center>
        <form method="post" action="update_userinfo.php" enctype="multipart/form-data">
                <center><img id="uploadPreview4" style="width: 100px; height: 100px;" /></center>
                <center><input type="file" name="Filename4" id="uploadImage4" onchange="PreviewImage4();" class="form-group"><input TYPE="submit" name="updateImage" value="Update Image" class="btn btn-success" /></center>

        </form>
        ////
          new code
          <?php if(isset($photoDeleted) && $photoDelete=== false) :>
            <center>Hey! Delete your photo first!</center>
          <?php endif; ?>
        ////
</div>
<div class="col-md-6">
    <center><label>Your Current Profile Picture </label></br>
        <form method="post" action="update_userinfo.php" enctype="multipart/form-data" onSubmit="if(!confirm('Do You really want to update your profile picture?')){return false;}">
            <?php
            echo "<img border=\"0\" src=\"".$row['image_path4']."\" width=\"100\"  height=\"100\" >";
            echo "<br>";  ?>
        <input TYPE="submit" name="delete" value="delete" class="btn btn-success" />
        </form>
</div>

从您的 PHP 端,检查数据库中是否仍有照片,重新加载此上传页面并传递photoDelete变量,因为false当它加载页面时,php 会将其呈现为错误。

但!等待!为什么不直接用 php 中新更新的照片替换/删除之前的照片?假设每个用户只有一条个人资料照片记录,只需用新更新的照片更新您的数据库记录并删除以前的记录!?

总体而言,这是一个更好的用户体验


推荐阅读