在提交我的联系表单时,我收到了#34;没有提供论据"

时间:2016-12-20 15:58:24

标签: php html twitter-bootstrap

当我提交表格时,我会收到声明"没有参数提供!"但是,我有第二个网站运行相同的确切形式,它完全有效。 php文件来自Bootstrap Agency模板。这是代码

HTML

<div class="span9"> 

        <form id="contact-form" class="contact-form" action="contact.php">
            <p class="contact-name">
                <input id="name" type="text" placeholder="Full Name" value="" name="name" />
            </p>

            <p class="contact-email">
                <input id="email" type="text" placeholder="Email Address" value="" name="email" />
            </p>

             <p class="contact-phone">
                <input id="phone" type="text" placeholder="Phone Number" value="" name="phone" />
            </p>
            <p class="contact-message">
                <textarea id="message" placeholder="Your Message" name="message" rows="15" cols="40"></textarea>
            </p>
            <p class="contact-submit">
                <li><input type="submit" value="Send Message" class="special" /></li>
        <li><input type="reset" value="Reset" /></li>
            </p>

            <div id="response">

            </div>
        </form>

PHP

<?php
 // Check for empty fields
 if(empty($_POST['name'])       ||
   empty($_POST['email'])       ||
   empty($_POST['phone'])       ||
   empty($_POST['message']) ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}

$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];

// Create the email and send the message
 $to = 'yourname@yourdomain.com'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
 $email_subject = "Website Contact Form:  $name";
 $email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
 $headers = "From: noreply@yourdomain.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
 $headers .= "Reply-To: $email_address";    
 mail($to,$email_subject,$email_body,$headers);
 return true;           
?>

任何帮助都会受到极大关注。

3 个答案:

答案 0 :(得分:1)

在挖掘文件后,我相信这是有效的。这是代码:

<?php
// Check for empty fields
if(empty($_POST['name'])        ||
   empty($_POST['email'])       ||
   empty($_POST['subject'])     ||
   empty($_POST['message']))    
   /*
   !filter_var($_['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!";
    return false;
   }
    */

    if(empty($_POST['name'])) {
     echo "Please enter your name."; return false; 
     } 
     elseif(empty($_POST['email'])) {
      echo "Please enter your email."; return false; 
      }

     if(empty($_POST['message'])) {
     echo "Please enter your message."; return false; 
     } 
     elseif(empty($_POST['subject'])) {
     echo "Statement if there is an error"; return false;
     }


$name = $_POST['name'];
$email_address = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

// Create the email and send the message
$to = 'youname@yourdomain.com'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject = "Website Contact Form:  $subject";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nMessage:\n$message";
$headers = "From: noreply@yourdomain\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers);
return true;            
?>

答案 1 :(得分:0)

您的表单中缺少method="post"

<form id="contact-form" class="contact-form" action="contact.php" method="post">

答案 2 :(得分:0)

在表单中发送时的默认方法是GET。

所以你需要:

<form method='post' id="contact-form" class="contact-form" action="contact.php">