-4

so I'm making a website for a customer and he wants me to make a contact us page, now I'm trying to make it say in the email message: "You have been contacted by $name $name2 and his email is $from. \n The message he wanted to say was in the subject of $message and the message is $message2" help?

my html code:

<form action="contactus.php" method="post">
<div  class="form-group">
    <label for="Subject">Subject*</label>
    <input name="subject" class="form-control" id="subject1" placeholder="Subject">
</div>
<label for="sabject">Why do you want to contact us?</label>
    <br>
    <select name="select">

        <option value="General Inquiry">General Inquiry</option>
        <option value="hampion Guide Request">Champion Guide Request</option>
        <option value="League of Legends Show(s) Request">League of Legends Show(s) Request</option>
        <option value="Podcast - League of Legends">Podcast - League of Legends</option>
    </select>
    <label for="fname">First Name*</label>
    <input type="text" name="firstname" class="form-control" id="namef" placeholder="First Name">

    <label for="lname">Last Name</label>
    <input type="text" name="lastname" class="form-control" id="namel" placeholder="Last Name">
    <label for="email_adress">Email Adress*</label>
    <input type="email" name="email_adress" class="form-control" id="email_adress" placeholder="Email Adress">
    <label for="message">Message*</label>
    <input name="message2" class="form-control" id="message" placeholder="message">
    <input style="margin-top: 50px;" value="Send Form" name="submit" type="submit">Submit</button>
</form>

php:

    <html>
    <head>
        <title> PHP script</title>
    </head>
    <body>
        <?php
        $to ="sudaiguy1@gmail.com";
        $from = isset($_POST['email_adress']) ? $_POST['email_adress'] : '';
        $email_subject = isset($_POST['subject']) ? $_POST['subject'] : '';
        $message = isset($_POST['select']) ? $_POST['select'] : '';
        $message2 = isset($_POST['message2']) ? $_POST['message2'] : '';
        $name = isset($_POST['firstname']) ? $_POST['firstname'] : '';
        if (empty($name)||empty($from))
        {
            echo "Name and email are mandatory!";
            exit;
        }
        elseif (empty($email_subject)||empty($message)) {
            echo "Your email or subject are blank, please write something in them";
            exit;
       }
       elseif (empty($name)||empty($message2)) {
          echo "Your name or message are empty";
         exit;
       }
       $name2 = isset($_POST['lastname']) ? $_POST['lastname'] : '';
       $email_from = "sudaiguy1@gmail.com";
       $body = $_POST['You have been contacted by $name $name2 and his email is $from. \n The message he wanted to say was in the subject of $message and the message is $message2'];
       $headers = "From: $body";
       mail($to , $email_subject , $body ,$headers);
       ?>
       </body>
       </html>

My problem is that it says unidentified variables index or something like that

Qirel
  • 21,424
  • 7
  • 36
  • 54
guy
  • 7
  • 4

1 Answers1

1

The undefined index comes from $body = $_POST['You have be..]

Try this for $body:

$body = 'You have been contacted by ' . $name . ' ' . $name2 . ', and his email is ' . $from . 'The message he wanted to say was in the subject of' .  $message . ' and the message is ' . $message2;
Daniel_ZA
  • 574
  • 7
  • 24