2016-02-27 2 views
0

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

Две проблемы, которые у меня есть с приведенным ниже кодом, это то, что я не хочу, чтобы объект был автоматическим, потому что форма будет использоваться по нескольким причинам. Я также не знаю, что такое «заголовки». Я не хочу предоставлять свою электронную почту людям, использующим форму.

Вот мой HTML код:

<form action="send-mail.php" method="post" enctype="text/plain" name="contact-form"> 
        <!--RECOMMENDED TO USE POST METHOD FOR SENSITIVE DATA--> 


        <div id="floatLeft"> <!--TO ALLOW FOR SIDE X SIDE BOXES AS SCREEN SIZE INCREASES--> 

         <!--NAME BOX--> 
         <p><input type="text" name="name" placeholder="Name" autocomplete="off" oninvalid="setCustomValidity('This Field Cannot Be Left Blank')" oninput="setCustomValidity('')" required > 
         <small class="error"></small></p> 

         <!--EMAIL BOX--> 
         <p><input type="email" name="email" placeholder="Email" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" oninvalid="setCustomValidity('Please Enter A Valid Email')" oninput="setCustomValidity('')" autocomplete="off" required> 
         <small class="error"></small></p> 


         <!--PHONE BOX--> 
         <p><input type="tel" name="telephone" onBlur='addDashes(this)' placeholder="Phone (no dashes)" pattern='^\d{3}-\d{3}-\d{4}$' oninvalid="setCustomValidity('Minimum length is 10 digits')" oninput="setCustomValidity('')" autocomplete="off" required> 
         <small class="error"></small></p> 


         <!--SUBJECT BOX--> 
         <p><input id="subject" type="text" name="subject" placeholder="Subject" pattern=".{3,}" oninvalid="setCustomValidity('Must Enter A Minimum of 3 Characters')" oninput="setCustomValidity('')" required></p> 

         <div class="clear"></div> <!--////// Necessary to properly push comments box to next line ////////--> 

        </div> 

        <div id="floatRight"> <!--TO ALLOW FOR SIDE X SIDE BOXES AS SCREEN SIZE INCREASES--> 

         <!--FREEFORM BOX--> 
         <p><textarea name="comments" cols="110" rows="12" placeholder="Message" oninvalid="setCustomValidity('This Field Cannot Be Left Blank')" oninput="setCustomValidity('')" required></textarea></p> 
         <p><input type="submit" onClick='addDashes(this.form)' value="Send"></p> 

        </div> 

        </form> 

Вот мой PHP код:

<?php 
$mail_to = '[email protected]'; // specify your email here 

// Assigning data from the $_POST array to variables 
$name = $_POST['name']; 
$mail_from = $_POST['email']; 
$phone = $_POST['telephone']; 
$message = $_POST['comments']; 

// Construct email subject 
$subject = 'www.mysite.com Message from visitor ' . $name; 

// Construct email body 
$body_message = 'From: ' . $name . "\r\n"; 
$body_message .= 'E-mail: ' . $mail_from . "\r\n"; 
$body_message .= 'Phone: ' . $phone . "\r\n"; 
$body_message .= 'Message: ' . $message; 

// Construct email headers 
$headers = 'From: ' . $mail_from . "\r\n"; 
$headers .= 'Reply-To: ' . $mail_from . "\r\n"; 

$mail_sent = mail($mail_to, $subject, $body_message, $headers); 

if ($mail_sent == true){ ?> 
    <script language="javascript" type="text/javascript"> 
    alert('Thank you for the message. I will get back to you shortly.'); 
    window.location = 'index.html'; 
    </script> 
<?php } else { ?> 
<script language="javascript" type="text/javascript"> 
    alert('Message not sent. Please, notify the site administrator [email protected]'); 
    window.location = 'index.html'; 
</script> 
<?php 
} ?> 
+0

Вы используете Bootstrap? –

+0

Я не использую Bootstrap. Я никогда раньше этого не использовал. До сих пор на моем сайте были только HTML, CSS и JS. – Brenda813

+0

На вашем месте я бы подумал об этом. Это просто и помогает, когда дело доходит до настройки форм. –

ответ

0

Вы пробовали изменения при условии, получив пост. Возможно, вам захочется удалить тему сообщения о конструкции, если вы не хотите, чтобы она начиналась с сайта.

Не думаю, что я понимаю, что люди задают вопрос по электронной почте.

$subject = $_POST['subject']; 

// Construct email subject 
$subject = 'www.mysite.com Message - ' . $subject; 
+0

Спасибо, я попробую. – Brenda813

+0

Для электронной почты - В принципе, я никому не обращаюсь к сайту, чтобы иметь возможность получить мой адрес электронной почты. не хочу открывать себя для спама. Как я уже сказал, я совершенно новичок в этом, поэтому, если я объясняю неправильно или не понимаю, как работают электронные письма, я приношу свои извинения. – Brenda813

+0

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

0

Ed de Almeida ... Я не думаю, что это имеет какое-то отношение к бутстрапу.

если я вас правильно, вы хотите 1. субъекты должны быть динамическими 2. вы хотите понять, как работают заголовки?

<?php 
if (isset($_POST['submit'])) 
{ 
// You specify the email you want to recieve your message. This way, no one wud see the email because it is server side and would not be visible to all 
    $mail_to = '[email protected]'; 





// Assigning data from the $_POST array to variables and clear it of every possible intrusuin. Just make this a tradition ok? 
    $name = mysql_real_escape_string(htmlentities($_POST['nname'])); 
    $mail_from = mysql_real_escape_string(htmlentities($_POST['email'])); 
    $phone = mysql_real_escape_string(htmlentities($_POST['telephone'])); 
    $message = mysql_real_escape_string(htmlentities($_POST['comments'])); 
    $subject = mysql_real_escape_string(htmlentities($_POST['subject'])); 

    // To send HTML mail, the Content-type header must be set 
     $headers = 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

     // Create email headers The format below. gives you a perfect arrangment 

     $headers .= 'From: '.'www.mysite.com Message from visitor '.$name .'<'.$mail_from.'>'."\r\n". 
       'Reply-To: '.$mail_from."\r\n" . 
       'X-Mailer: PHP/' . phpversion(); 

     // Construct email body 
     $body_message = 'From: ' . $name . "\r\n"; 
     $body_message .= 'E-mail: ' . $mail_from . "\r\n"; 
     $body_message .= 'Phone: ' . $phone . "\r\n"; 
     $body_message .= 'Message: ' . $message;  

     // Construct email subject 
     $subjectToSend = 'message subject:' . $subject; 

     $mail_sent = mail($mail_to, $subjectToSend, $body_message, $headers); 

     if ($mail_sent == true){ 
     ?> 
      <script language="javascript" type="text/javascript"> 
      alert('Thank you for the message. I will get back to you shortly.'); 
      window.location = 'index.html'; 
      </script> 
     <?php } else { ?> 
     <script language="javascript" type="text/javascript"> 
      alert('Message not sent. Please, notify the site administrator [email protected]'); 
      window.location = 'index.html'; 
     </script> 
     <?php } ?> 

<?php }?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<form action="send-mail.php" method="post" enctype="text/plain" name="contact-form"> 
        <!--RECOMMENDED TO USE POST METHOD FOR SENSITIVE DATA--> 


        <div id="floatLeft"> <!--TO ALLOW FOR SIDE X SIDE BOXES AS SCREEN SIZE INCREASES--> 

         <!--NAME BOX--> 
         <p><input type="text" name="name" placeholder="Name" autocomplete="off" oninvalid="setCustomValidity('This Field Cannot Be Left Blank')" oninput="setCustomValidity('')" required > 
         <small class="error"></small></p> 

         <!--EMAIL BOX--> 
         <p><input type="email" name="email" placeholder="Email" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" oninvalid="setCustomValidity('Please Enter A Valid Email')" oninput="setCustomValidity('')" autocomplete="off" required> 
         <small class="error"></small></p> 


         <!--PHONE BOX--> 
         <p><input type="tel" name="telephone" onBlur='addDashes(this)' placeholder="Phone (no dashes)" pattern='^\d{3}-\d{3}-\d{4}$' oninvalid="setCustomValidity('Minimum length is 10 digits')" oninput="setCustomValidity('')" autocomplete="off" required> 
         <small class="error"></small></p> 


         <!--SUBJECT BOX--> 
         <p><input id="subject" type="text" name="subject" placeholder="Subject" pattern=".{3,}" oninvalid="setCustomValidity('Must Enter A Minimum of 3 Characters')" oninput="setCustomValidity('')" required></p> 

         <div class="clear"></div> <!--////// Necessary to properly push comments box to next line ////////--> 

        </div> 

        <div id="floatRight"> <!--TO ALLOW FOR SIDE X SIDE BOXES AS SCREEN SIZE INCREASES--> 

         <!--FREEFORM BOX--> 
         <p><textarea name="comments" cols="110" rows="12" placeholder="Message" oninvalid="setCustomValidity('This Field Cannot Be Left Blank')" oninput="setCustomValidity('')" required></textarea></p> 
         <p><input type="submit" onClick='addDashes(this.form)' value="Send" name="submit"></p> 

        </div> 

        </form> 

</body> 
</html> 
+0

Правильно. Это то, что я ищу. – Brenda813

+0

i wud выработайте что-нибудь для вас в ближайшее время! Попробуйте коды, идеально подходящие для u. несколько минут Brenda813 – Legendchyke

+0

Нет проблем. Спасибо огромное! – Brenda813

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