如何调整PHP表单

如何调整PHP表单,php,Php,我是一个非常熟悉PHP表单的新手。我几天前刚被介绍给他们,开始研究,发现了一个非常适合新手的教程,但当涉及到调整时,我完全不知所措 下面的代码有两个问题,我不希望主题是自动的,因为表单的使用有几个原因。我也不知道那些“标题”是什么。我不想把我的电子邮件给使用表单的人 以下是我的HTML代码: <form action="send-mail.php" method="post" enctype="text/plain" name="contact-form">

我是一个非常熟悉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._%+-]+@[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@email.com'; // 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@email.com');
    window.location = 'index.html';
</script>
<?php
}  ?>

提醒('谢谢你的留言。我会很快回复你。');
window.location='index.html';
警报('消息未发送。请通知站点管理员email@email.com');
window.location='index.html';

你有没有试过通过获得帖子来改变话题。如果您不希望构造电子邮件主题以站点开头,则可能需要删除该主题

我想我不明白问题的一部分是给别人发电子邮件

$subject = $_POST['subject'];

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

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@email.com'; 





// 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@email.com');
            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._%+-]+@[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>

提醒('谢谢你的留言。我会很快回复你。');
window.location='index.html';
警报('消息未发送。请通知站点管理员email@email.com');
window.location='index.html';
无标题文件


您正在使用引导吗?我没有使用引导。我以前从没用过。到目前为止,我的网站只是HTML、CSS和JS。在你的位置,我会考虑使用它。它很简单,在调整表单时帮助很大。谢谢!我会调查的,谢谢!我会试试看。对于电子邮件——基本上,我不知道有谁访问该网站就能收到我的电子邮件。我不想对垃圾邮件敞开心扉。就像我说的,我对这一点完全陌生,所以如果我解释错了,或者不理解电子邮件表单是如何工作的,我很抱歉。我假设php代码中的邮件收件人就是您存储电子邮件的地方。当服务器向用户提供页面时,它不应该在部分中显示任何内容。您可以在页面加载到服务器上后查看页面的源,以确保页面正确提供服务,并验证您无法查看电子邮件。正确。这就是我要找的。我会很快为你做点事情的!尝试代码完美的为美国。请给我几分钟布伦达813没问题。非常感谢你!嗨,布伦达。试试我发布的代码。它应该会起作用。我只对您选择Javascript作为成功消息有一个问题。如果它给你带来问题。我们必须改变现状