dp926460 2016-08-30 13:08
浏览 51

在PHP中的一个页面中的多个表单

  1. I have two php code and two HTML code in same page but problem is here when i submit first form its ok but display alert message in second form also that same as first form alert message.

  2. Second subscribe form will not working. I think echo $result are collapsed how can I separate this?

PHP

<?php

function validEmail($email) {
    // First, we check that there's one @ symbol, and that the lengths are right
    if (!preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
        return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if (!preg_match("/^(([A-Za-z0-9!#$%&'*+\/=?^_`{|}~-][A-Za-z0-9!#$%&'*+\/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$/", $local_array[$i])) {
            return false;
        }
    }
    // Check if domain is IP. If not, it should be valid domain name
    if (!preg_match("/^\[?[0-9\.]+\]?$/", $email_array[1])) {
        $domain_array = explode(".", $email_array[1]);
        if (sizeof($domain_array) < 2) {
            return false;
        }
        for ($i = 0; $i < sizeof($domain_array); $i++) {
            if (!preg_match("/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$/", $domain_array[$i])) {
                return false;
            }
        }
    }
    return true;
}

if ($_POST["registerform"]) {
    $ip = $_SERVER['REMOTE_ADDR'];
    $name = $_POST['name'];
    $email = $_POST['email'];
    $mobile = $_POST['mobile'];
    $sub = $_POST['sub'];
    $message = $_POST['message'];
    $formcontent = "Sender IP: $ip 

 Name: $name 
 E-mail: $email 
 Mobile: $mobile 
 Subject: $sub 

 Message: $message";
    $recipient = "xyz@domain.com";
    $subject = "Contact Us Form";
    $mailheader = "From: $email 
";

    if (!$_POST['name']) {
        $errName = 'Please enter your name';
    }
    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
        $errEmail = 'Please enter a valid email address';
    }
    if (!$_POST['mobile']) {
        $errMobile = 'Please enter your mobile number';
    }
    if (!$_POST['sub']) {
        $errSub = 'Please enter your subject';
    }
    if (!$_POST['message']) {
        $errMessage = 'Please enter your message';
    }
    if (!$errName && !$errEmail && !$errMobile && !$errSub && !$errMessage) {
        if (mail($recipient, $subject, $formcontent, $mailheader) or die("Error!")) {
            $result = '<div class="alert alert-success"><button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>Thank You! Your message has been sent. We will revert back to you shortly</div>';
        } else {
            $result = '<div class="alert alert-danger"><button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>Warning! There was a problem with your network connection. Please try again</div>';
        }
    }
} elseif ($_POST['subscribe']) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $formcontent = " Name: $name 

 Email: $email";
    $recipient = "abc2@domain.com";
    $subject = "subscribe Newsletter";
    $mailheader = "From: $email 
";

    if (!$_POST['name']) {
        $errName1 = 'Please enter your name';
    }
    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
        $errEmail1 = 'Please enter a valid email address';
    }
    if (!$errName && !$errEmail && $errMessage) {
        if (mail($recipient, $subject, $formcontent, $mailheader) or die("Error!")) {
            $result = '<div class="alert alert-success"><button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>Thank for subscribing newsletters</div>';
        } else {
            $result = '<div class="alert alert-danger"><button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>Please try again</div>';
        }
    }
}
?>

The First mail form Html Code is :

<form action="" name="registerform" method="post">
    <div class="row">
        <div class="form-group">
            <div class="col-lg-6 ">
                <input type="text" name="name" class="form-control" placeholder="Your Full Name *">
                <?php echo "<p class='text-danger'>$errName</p>";?>
            </div>
            <div class="col-lg-6 ">
                <input type="email" name="email" class="form-control" placeholder="Your E-mail *">
                <?php echo "<p class='text-danger'>$errEmail</p>";?>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="form-group">
            <div class="col-lg-6">
                <input type="number" name="mobile" class="form-control" placeholder="Contact Number *">
                <?php echo "<p class='text-danger'>$errMobile</p>";?>
            </div>
            <div class="col-lg-6 ">
                <input type="text" name="sub" class="form-control" placeholder="Subject *">
                <?php echo "<p class='text-danger'>$errSub</p>";?>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="form-group">
            <div class="col-md-12">
                <textarea id="message" class="form-control" name="message" rows="10" cols="50"
                          placeholder="Message *"></textarea>
                <?php echo "<p class='text-danger'>$errMessage</p>";?>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-3">
            <input type="submit" name="registerform" value="Submit" class="btn btn-default btn-lg button">
        </div>
    </div>
</form>

The Second Subscribe form Html Code is :

<div class="row">
    <div class="form-group">
        <div class="col-lg-12 col-md-12 col-sm-12">
            <?php echo $result; ?>
        </div>
    </div>
</div>

<div class="form-group">
    <?php echo $result; ?>
</div>

<form name="subscribe" method="post">
    <input type="text" name="name" id="name" class="form-control" placeholder="Name">
    <?php echo "<p class='text-danger'>$errName</p>";?>
    <input type="text" name="email1" id="email" class="form-control" placeholder="Email">
    <?php echo "<p class='text-danger'>$errEmail</p>";?>
    <div class="pull-right">
        <input type="submit" value="Subscribe" name="subscribe" class="btn btn-default btn-lg button">
    </div>
</form>
  • 写回答

3条回答 默认 最新

  • drlma06060 2016-08-30 13:31
    关注

    Use if(isset($valuefromtheform){$result= .... } with a $ specific to the form 1 or 2, to set your $result in case 1 or 2

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?