【问题标题】:PHP Contact form empty body (bootstrap)PHP 联系表单空正文(引导程序)
【发布时间】:2015-12-18 02:54:51
【问题描述】:

我的联系表有问题(来自引导程序)。 php 代码以及 html 代码如下所示。每当我尝试联系表格时,正文都是空的。我错过了什么吗? 这是html代码:

<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
              <div class="row-fluid">
                <div class="span5">
                    <label>First Name</label>
                    <input type="text" class="input-block-level" required="required" placeholder="Your First Name">
                    <label>Last Name</label>
                    <input type="text" class="input-block-level" required="required" placeholder="Your Last Name">
                    <label>Email Address</label>
                    <input type="text" class="input-block-level" required="required" placeholder="Your email address">
                </div>
                <div class="span7">
                    <label>Message</label>
                    <textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
                </div>

            </div>
            <button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
            <p> </p>

        </form>

这是 PHP 代码:

<?php
header('Content-type: application/json');
$status = array(
    'type'=>'success',
    'message'=>'Email sent!'
);

$name = @trim(stripslashes($_POST['name'])); 
$email = @trim(stripslashes($_POST['email'])); 
$subject = @trim(stripslashes($_POST['subject'])); 
$message = @trim(stripslashes($_POST['message'])); 

$email_from = $email;
$email_to = 'mail@luckystarmaids.com';

$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');

echo json_encode($status);
die;

【问题讨论】:

    标签: php html forms contact


    【解决方案1】:

    您的姓名和电子邮件表单元素没有name 属性。没有它们,它们将不会发布到表单的action12

    names 添加到您的输入中:

    <input type="text" name="first_name" class="input-block-level" required="required" placeholder="Your Last Name">
    

    此外,您还需要在 PHP 代码中处理名字和姓氏,此时您只需要查找 name

    【讨论】:

    • 谢谢您,我已根据您的建议进行了编辑。但是,它仍然不起作用.. $email、$message 等仍然是空的。
    【解决方案2】:
    <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="">
      <div class="row-fluid">
            <div class="span5">
                <label>First Name</label>
                <input name=firstname type="text" class="input-block-level" required="required" placeholder="Your First Name">
                <label>Last Name</label>
                <input name=lastname type="text" class="input-block-level" required="required" placeholder="Your Last Name">
                <label>Email Address</label>
                <input name=email type="text" class="input-block-level" required="required" placeholder="Your email address">
                <label>Subject</label>
                <input name=subject type="text" class="input-block-level" required="required" placeholder="Subject">
            </div>
            <div class="span7">
                <label>Message</label>
                <textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
            </div>
    
        </div>
    
        <button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
        <p> </p>
    </form>
    

    也尝试处理服务器上的数据。至少检查值是否已发送:

            <?php
    
    if ( isset( $_POST['firstname'] )
        && isset( $_POST['email'] )
        && isset( $_POST['subject'] ) 
        && isset( $_POST['message'] ) )
    {
    
    
        $name = @trim(stripslashes($_POST['name'])); 
        $email = @trim(stripslashes($_POST['email'])); 
        $subject = @trim(stripslashes($_POST['subject'])); 
        $message = @trim(stripslashes($_POST['message'])); 
    
        $email_from = $email;
        $email_to = 'mail@luckystarmaids.com';
    
        $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $s
    
    ubject . "\n\n" . 'Message: ' . $message;
    
    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
    if ($success)
    {
            echo json_encode(array(
                'success'=> true,
                'message'=>'Email sent, you recieve an email at ' . $email
            ));
    }    
    }
    else
    {
        echo json_encode(array(
            'success' => false,
            'message' => 'An error has occured, please try again.'
        ));
    
    }
    ?>
    

    【讨论】:

    • 对不起,我在一页中测试过。
    猜你喜欢
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多