2013-09-19 3 views
0

Я потратил большую часть сегодняшнего дня и все вчера, просто пытаясь получить простой базовый код PHP для отправки по электронной почте. Вот код, который я попытался собрать, после тщательного исследования, проверки и редактирования на основе многих других тем, которые я читал на этом веб-сайте и на других сайтах.Как отправить несколько полей в электронную почту с несколькими переменными?

<?php 

$to='[email protected]'; 
$subject='Commission Inquiry'; 
$email = $_REQUEST['Email'] ; 
$headers = "From: $email"; 
$sent = mail($to, $subject, $message, $headers) ; 
$message="Name: ".$name. "\r\n" . "Email: " .$email . "\r\n" . "Username: " .$user . "\r\n" . "Type: ".$position. "\r\n" . "Add-Ons: ".$addons. "\r\n" . "Price: ".$price. "\r\n" . "Brief Description: ".$briefdesc; 


$name=$_POST['FirstName'],['LastName']; 
$email=$_POST['Email']; 
$user=$_POST['User']; 

$position=$_POST['position']; 
$addons=$_POST['cat'],['dog']; 
$price=$_POST['price']; 
$desc=$_POST['briefdesc']; 



if($sent) 
{print "Your mail was sent successfully. Please be patient and the artist will contact you soon. Thanks!"; } 
else 
{print "We encountered an error sending your mail"; } 


?> 

Существует на самом деле более ЛОТ данные форм, чем просто основная информация, но я не могу даже получить основную информацию, чтобы показать. Для части html-кодов она тянет, вот некоторые из того, что она выглядит.

<!--NAME--> 
     </li>  <li id="li_2" > 
     <label class="description" for="element_2">Name </label> 
     <span> 
     <input onkeypress="return handleEnter(this, event)" id="element_2_1" name="FirstName" class="element text" maxlength="255" size="14" value=""/> 
     <label>First</label> 
     </span> 

     <span> 
     <input onkeypress="return handleEnter(this, event)" id="element_2_2" name="LastName" class="element text" maxlength="255" size="18" value=""/> 
     <label>Last</label> 
     </span> 
     <p class="guidelines" id="guide_2"><small>Please fill this in as the name I will see on Paypal.</small></p> 

<!--EMAIL--> 

     </li>  <li id="li_1" > 
     <label class="description" for="element_1">Email </label> 
     <div> 
     <input onkeypress="return handleEnter(this, event)" id="element_1" name="Email" class="element text medium" type="text" maxlength="255" value=""/> 
     </div> 
     <p class="guidelines" id="guide_1"><small>Your Paypal email</small></p> 



<!--USERNAME--> 

     </li>  <li id="li_3" > 
     <label class="description" for="element_3">DA/Tumblr Username </label> 
     <div> 
     <input onkeypress="return handleEnter(this, event)" id="element_3" name="User" class="element text medium" type="text" maxlength="255" value=""/> 
     </div> 
     <p class="guidelines" id="guide_3"><small>If you have an account on either Deviantart or Tumblr and wish to be credited in the commission description, please note it here.</small></p> 
     </li> 
     <p> 

<!--POSITION TYPE--> 

    </li>  <li id="li_26" > 
    <label class="description" for="element_26">Comm. Type </label> 

    <div> 

    <select class="element select medium" id="element_26" name="position"> 

    <option value="" selected="selected"></option> 
    <option value="1" >Bust</option> 
    <option value="2" >Waist</option> 
    <option value="3" >Full-Body</option> 

    </select> 
    </div> 

    <p class="guidelines" id="guide_26"> 
    <small>Please choose what position you wish for your character(s) to be viewed from. Price will change depending on what type you choose.</small></p> 


<!--ADD ONS--> 

    </li>  <li id="li_27" > 
    <label class="description" for="element_27" name="addons">Add-Ons </label> 

    <span> 

    <input name="cat" type="checkbox" onClick="return KeepCount()"> 
    +1 Character<br> 


    <input name="dog" type="checkbox" onClick="return KeepCount()"> 
    +2 Characters 

У меня есть несколько полей (например, первый и фамилия), что мне нужно, чтобы быть один с одной переменной в коде электронной почты, и мне нужно, чтобы быть в состоянии отобразить все заполняемых полей формы в Эл. адрес. На данный момент я не могу получить больше одной переменной.

Также сама форма включает в себя выбор, флажки, текстовые поля и изображения. Я даже не дошел до этого - я просто пытаюсь сделать некоторые основные сведения, которые появляются прямо сейчас. Я очень хорошо знаком с HTML и Javascript, просто не так много PHP, хотя я работал с ним раньше. Некоторые данные формы используются в коде Javascript на той же странице, что и HTML. Фактические данные PHP находятся в отдельном файле, из которого извлекается моя форма.

+0

Таким образом, проблема, с которой вы сталкиваетесь, - это электронная почта, которая просто не отправит? Если да, уверены ли вы, что сервер, который вы используете, настроен для электронной почты? – user2027202827

+0

Он показал несколько ошибок синтаксического анализа, поэтому я удалил следующие переменные из $ name = $ _ POST ['FirstName'], ['LastName']; а затем $ addons = $ _ POST ['cat'], ['dog']; но затем он просто отправляет пустое сообщение под названием «Запрос комиссии». – shutterbones

+0

Попробуйте определить $ sent после определения $ message – user2027202827

ответ

2

Я думаю, что вы пытаетесь использовать переменные, прежде чем они захотят. Попробуйте что-то вроде следующего и дайте мне знать, как это происходит.

<?php 

$to = '[email protected]'; 
$subject = 'Commission Inquiry'; 
$headers = "From: $email"; 

$fname = $_POST['FirstName']; 
$lname = $_POST['LastName']; 
$email = $_POST['Email']; 
$user = $_POST['User']; 
$position = "CHANGE-ME"; 
$addons = "CHANGE-ME"; 
$price = "CHANGE-ME"; 
$briefdesc = "CHANGE-ME"; 

$message = "Name: ".$fname.", ".$lname."\r\n"; 
$message .= "Email: $email \r\n"; 
$message .= "Username: $user \r\n"; 
$message .= "Type: $position \r\n"; 
$message .= "Add-Ons: $addons \r\n"; 
$message .= "Price: $price \r\n"; 
$message .= "Brief Description: $briefdesc \r\n"; 

$sent = mail($to, $subject, $message, $headers); 

if($sent) { 
    echo "Success"; 
} 
else { 
    echo "Failure"; 
} 
?> 
+0

Это прекрасно работает, спасибо! Теперь, если бы я хотел добавить больше переменных из моей формы (что мне нужно сделать), я просто использую переменные $ message. = "Go here"; после последней строки $ message? (также я не знал, что вы можете использовать более одной строки сообщений, я глуп) Я заметил, что строки после первой строки $ message имели точку до знака равенства. Мне просто нужно назначить отдельные значения и объединить их вместе, но ваше предложение отлично работало. – shutterbones

Смежные вопросы