表单变量的回显不起作用


Echo of form variables does not work

我想在表单内容中显示$atendee_name$atendee_email,但它不起作用,尽管它在另一个部分起作用。

HTML代码:

<!-- RSVP section -->
<section id="rsvp">
    <div class="rsvp-form-wrap">
        <h2>RSVP</h2>
        <p class="rsvp-desc"> WE'RE SO EXCITED TO CELEBRATE WITH YOU </p>
        <form id="rsvp-form" action="sendmail.php" method="post" data-abide>
            <div class="columns large-12">
                <label for="atendee-name">Name (required)</label>
                <input id="atendee-name" name="atendee_name" type="text" placeholder="John Doe" required pattern="[a-zA-Z]+">
                <small class="error">Please enter your name.</small>
            </div><!-- End .large-12 -->
            <div class="columns large-12">
                <label for="atendee-email">Email Address (required)</label>
                <input id="atendee-email" name="atendee_email" type="email" placeholder="johndoe@email.com" required>
                <small class="error">Please enter a valid email.</small>
            </div><!-- End .large-12 -->
            <div class="columns large-4 medium-4 small-4">
                <label for="guests">Guests</label>
                <select id="guests" name="guests">
                    <option value="0">0</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                </select>
            </div><!-- End .large-4 -->
            <div class="columns large-8 medium-8 small-8">
                <label for="attending">I am attending</label>
                <select id="attending" name="attending">
                    <option value="Yes">Yes</option>
                    <option value="No">No</option>
                </select>
            </div><!-- End .large-8 -->
            <div class="columns large-12">
                <input id="rsvp-submit" class="button" type="submit" value="Submit" name="rsvp_submit">
            </div><!-- End .large-12 -->
        </form>
    </div><!-- End .rsvp-form-wrap -->
</section><!-- End #rsvp -->

PHP代码:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$name = $_POST['atendee_name'];
$email = $_POST['atendee_email'];
$guests = $_POST['guests'];
$attending = $_POST['attending'];
$formcontent="From: $name 'n Attending: $attending 'n Guests: $guests";
$recipient = "aida.ufe@gmail.com";
$subject = "RSVP form";
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Message successfully sent.";
?>

错误:

注意:未定义的索引:第5行/home/ayudz/public_html/sendmail.php中的atendee_name

注意:未定义的索引:第6行的atendee_email-in/home/ayudz/public_html/sendmail.php

如果条件如下,请编写php代码

<?php
     ini_set('display_errors', 1);
     ini_set('display_startup_errors', 1);
     error_reporting(E_ALL);
     if(isset($_POST['rsvp_submit']))//added this line
     {
        $name = $_POST['atendee_name'];
        $email = $_POST['atendee_email'];
        $guests = $_POST['guests'];
        $attending = $_POST['attending'];
        $formcontent="From: $name 'n Attending: $attending 'n Guests: $guests";
        $recipient = "aida.ufe@gmail.com";
        $subject = "RSVP form";
        $mailheader = "From: $email 'r'n";
        mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
        echo "Thank You! Message successfully sent.";
   }// end if here
?>

注意:如果您通过jQuery提交,请确保变量正确传递值,或者如果PHP在验证时进行页面重定向。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (isset($_POST))
{
// POST Variables
$name        = isset($_POST['atendee_name']) ? $_POST['atendee_name'] : '';
$email       = isset($_POST['atendee_email']) ? $_POST['atendee_email'] : '';
$guests      = isset($_POST['guests']) ? $_POST['guests'] : '';
$attending   = isset($_POST['attending']) ? $_POST['attending'] : '';
// Validation: you can add a page redirection with the error message
if (empty($name))
echo 'Please enter your name <br />';
if (empty($email))
echo 'Please enter your email address <br />';
// Mail
$formcontent = "From: $name 'n Attending: $attending 'n Guests: $guests";
$recipient   = "aida.ufe@gmail.com";
$subject     = "RSVP form";
$mailheader  = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Message successfully sent.";
}