简体   繁体   中英

How to pass the server side validation messages back to client?

I have the following two script files (ie, formtest.html and calc.php). When I do the server side validation on calc.php, how do I pass the error message (ie $err_msg back to the formtest.html?

Thank you

<html>
    <head>
        <title>Form Test</title>
    </head>
    <body>

    <form method="post" action="calc.php">
    <pre>
          Loan Amount <input type="text" name="principle" />
                      <input type="submit" />
    </pre>
    </form>
    </body>
    </html>

.

// calc.php

        $err_msg = ''; 

        if ( !empty(isset($_POST['principle'])) )
        {
            // process the form and save to DB
        } else {
         $err_msg .= 'Loan Amount is empty!';
        }

        ?>

You will either need to use a Server Side Include to bring in the PHP output into the HTML file (if it needs to remain an HTML file), or (a better solution) would be to include it all in one file like so:

(calc.php)

<?php
    $err_msg = '';
    if (isset($_POST['principle']) && !empty($_POST['principle']) )
    {
        // process the form and save to DB
    } else {
     $err_msg .= 'Loan Amount is empty!';
    }
?>
<html>
<head>
    <title>Form Test</title>
    <script type="text/javascript">
    <!--
         var errMsg = '<?php echo $err_msg; ?>';
         // Do something with javascript here.
    -->
    </script>
</head>
<body>
<div class="error">
<?php 
    // Or echo it inline with your HTML. 
    echo $err_msg;
?> 
</div>
<form method="post" action="calc.php">
<pre>
      Loan Amount <input type="text" name="principle" />
                  <input type="submit" />
</pre>
</form>
</body>
</html>

Not sure if that's valid as I wrote it off the top of my head. But that's the gist. Hope that made sense. ;)

**Changed code to reflect your comment.*

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM