php索引问题,doens发送电子邮件

时间:2016-11-30 14:23:04

标签: php html

所以我为客户制作了一个网站,他希望我联系我们页面,现在我试图在电子邮件中说出来:"您已被联系通过$ name $ name2,他的电子邮件是$。 \ n他想说的消息是$ message的主题,消息是$ message2"救命?

我的HTML代码:

<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>

我的问题是它表示未识别的变量索引或类似的东西

1 个答案:

答案 0 :(得分:1)

未定义的索引来自$body = $_POST['You have be..]

试试$ 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;