doumaojin4008 2018-05-31 15:57
浏览 141

如何在同一页面上显示表单错误并保留用户输入的数据?

I have a form that has action="file.php" , That PHP file has the cheeks and outputs , I want these outputs to be on the same form page.

The form exists in an html file :

 <form class="" method="post" action="file.php">
    <!-- Some Form Fields -->
</form>

The file.php contains some checks and outputs like:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    if ( empty($name){
        echo "Name can't be empty.";
    }
}

How to show these outputs on the same page next to the form?

  • 写回答

3条回答 默认 最新

  • dongwh1992 2018-05-31 16:05
    关注

    If you are posting to the same page, you can echo errors on the same page & retain the posted data no problem with something like this.

    in php

       $errors = []
       if (empty($name){
            $errors['name'] = "Name can't be empty.";
        }
    

    ... and on the form

    <php if (isset($errors['name'])) echo $errors['name']; ?>
    
    <input name='name' value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>"></input> 
    

    If you are posting to a different url, then you will have to redirect back to the form page or include the form page, and pass the $errors and the $_POST data.

    评论

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败