dongtuan8547 2018-03-13 19:56
浏览 37

如果在php中提交表单后没有空字段,如何显示成功消息

I have made an html form and validate it with php or more precisely part of validation (just check rquired field) Here is the html codes:

<div class="container">
    <div class="row">
        <div class="col-md-6">
            <h3>Registration Form</h3><br>
            <form action="#" method="post">
                <div class="form-group">
                    <label for="name">Name : * </label><span class="error"><?php echo $nameErr; ?></span>
                    <input id="name" type="text" name="name" class="form-control" placeholder="Type your name here">

                </div>
                <div class="form-group">
                    <label for="username">Username : * </label><span class="error"><?php echo $usernameErr; ?></span>
                    <input id="username" type="text" name="username" class="form-control" placeholder="Type your username here">

                </div>
                <div class="form-group">
                    <label for="password">Password : * </label><span class="error"><?php echo $passwordErr; ?></span>
                    <input id="password" type="password" name="password" class="form-control" placeholder="Type password here">

                </div>
                <div class="form-group">
                    <label for="rpassword">Retype Password : * </label><span class="error"><?php echo $rpasswordErr; ?></span>
                    <input id="rpassword" type="password" name="rpassword" class="form-control" placeholder="Retype password here">

                </div>
                <div class="form-group">
                    <label for="email">Email : * </label><span class="error"><?php echo $emailErr; ?></span>
                    <input id="email" type="email" name="email" class="form-control" placeholder="Type your email here">

                </div>
                <div class="form-group">
                    <label for="phone">Phone No : * </label><span class="error"><?php echo $phoneErr; ?></span>
                    <input id="phone" type="text" name="phone" class="form-control" placeholder="Type your phone here">

                </div>
                <div class="form-group">
                    <label for="dob">Date of Birth : * </label><span class="error"><?php echo $dobErr; ?></span>
                    <input id="dob" type="date" name="dob" class="form-control">

                </div>
                <div class="form-group">
                    <label>Select A Country : * </label><span class="error"><?php echo $countryErr; ?></span>
                    <input id="country" type="text" name="country" class="form-control not-me">

                </div>
                <div class="form-group">
                    <label for="gender">Please Select Your Gender : *</label><span class="error"><?php echo $genderErr; ?></span>
                    <div class="form-control gender">
                        <input type="radio" id="male" name="gender">
                        <label for="male" class="exclude">Male</label>
                        <input type="radio" id="female" name="gender">
                        <label for="female" class="exclude">Female</label>
                    </div>
                </div>
                <input type="submit" name="submit" class="custom-btn" value="Submit" name="reg-form">
            </form>
        </div>
    </div>
</div>

And here is the php code to check if any of the field is empty:

<?php
    $nameErr = $usernameErr = $passwordErr = $rpasswordErr = $emailErr = $phoneErr = $dobErr = $countryErr = $genderErr = "";
    $name = $username = $password = $rpassword = $email = $phone = $dob = $country = $gender = "";

    if(isset($_POST["submit"])) {
        if (empty($_POST["name"])) {
           $nameErr = " This field is required";
        }
        else {
           $name = $_POST["name"];
        }
        if (empty($_POST["username"])) {
           $usernameErr = " You must enter a username";
        }
        else {
           $username = $_POST["username"];
        }
        if (empty($_POST["password"])) {
           $passwordErr = " You must type a strong password";
        }
        else {
           $password = $_POST["password"];
        }
        if (empty($_POST["rpassword"])) {
           $rpasswordErr = " Your password didn't match";
        }
        else {
           $rpassword = $_POST["rpassword"];
        }
        if (empty($_POST["email"])) {
           $emailErr = " This is not a valid email address";
        }
        else {
           $email = $_POST["email"];
        }
        if (empty($_POST["phone"])) {
           $phoneErr = " Please enter your contact number";
        }
        else {
           $phone = $_POST["phone"];
        }
        if (empty($_POST["dob"])) {
           $dobErr = " You must fill your Date of Birth";
        }
        else {
           $dob = $_POST["dob"];
        }
        if (empty($_POST["country"])) {
           $countryErr = " You didn't select a country";
        }
        else {
           $country = $_POST["country"];
        }
        if (empty($_POST["gender"])) {
           $genderErr = " You can not leave this field empty";
        }
        else {
           $gender = $_POST["gender"];
        }
    }
?>

Now I simply want to show a success message after submission the form if there is no empty field.
N.B: This is my first php work. Thanks in advance!

  • 写回答

2条回答 默认 最新

  • donglu5235 2018-03-13 20:00
    关注

    simplest solution would be to use simple flag variable, proof of concept using your code:

    <?php
        $isFullyFilled = true; //flag 
    
        $nameErr = $usernameErr = $passwordErr = $rpasswordErr = $emailErr = $phoneErr = $dobErr = $countryErr = $genderErr = "";
        $name = $username = $password = $rpassword = $email = $phone = $dob = $country = $gender = "";
    
        if(isset($_POST["submit"])) {
            if (empty($_POST["name"])) {
               $nameErr = " This field is required";
    
               $isFullyFilled = false; //this is line which changes flag
            }
            else {
               $name = $_POST["name"];
            }
        .... //many other ifs modified like that
        if($isFullyFilled){
             showMessage("Form is fully filled");
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何实验stm32主通道和互补通道独立输出
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题