我如何使此联系表格工作


How Do I Make this contact form work?

我无法编辑此"联系我们"表单代码工作并将消息发送到我的邮箱。

假设我想将邮件发送到我的电子邮件:doherty@noob.com,我如何编辑此代码来完成任务?

<div class="conatct-form">
			<ul class="form">
				<li>
				<input type="text" class="text" value="Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name*';}" >
				</li>
				<li>
				<input type="text" class="text" value="Email*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email*';}" >
				</li>
				<li>
				<textarea value="Message*:" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Your Message*';}">Message*</textarea>
				</li>
				<div class="sub-button">
					<input type="submit" value="SEND">
				</div>
			</ul>
		</div>

我已经优化了您的代码,并添加了一些PHP代码

PHP代码

 <?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    if (isset($name, $email, $message)) {
        // Insert into database
        $query = mysql_query("INSERT INTO contacts ...");
        if ($query) {
            // send email using phpmailer, sendmail, ...
            mail($mail, 'Subject', $message, '...');
        }
    }
?>

HTML

<form id="contact-form" method="post">
    <ul>
        <li>
            <!--
                Substituting the code below
                <input type="text"
                       value="Name *"
                       onfocus="this.value=''"
                       onblur="if (this.value == '') {this.value = 'Name *'}" />
                use the placeholder attribute instead
            -->
            <input type="text" name="name" placeholder="Name *" />
        </li>
        <li>
            <input type="text" name="email" placeholder="Email *" />
        </li>
        <li>
            <textarea name="message" placeholder="Message *"></textarea>
        </li>
        <li>
            <input type="submit" value="Send" />
        </li>
    </ul>
</form>

您需要将HTML输入包装在一个元素中,以便正确的表单能够工作。

因此,您需要以下标签:

<form action='url_to_submit_to' method='POST' enctype='application/x-www-form-urlencoded'>
 <!-- Rest of your code here -->
</form>

有关<form>标签的格式和参数的更多详细信息,请参阅Mozilla文档:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

此处没有进行提交,因为内容没有封装在表单标记中。所有内容都应该包装在标签中,标签具有某个php/java文件的action属性,该文件验证用户传递的数据并提交到数据库。

有关详细信息,请查看mdn上的表单标记。

而不是使用if(isset($name,$email,$message)){…}HTML5"必需"将在您的标签中更好。例如此外,您提交的类型需要有一个名称。该名称将用于处理您的表单。

contact.php页面。下面的表单是自己处理的,因为方法的名称是contact.php。

<form id="contact-form" method="post" action="contact.php" >
<input type="text" name="name" placeholder="Name" />
<input type="text" name="subject" placeholder="Subject *" />
<input type="text" name="email" placeholder="Email *" />
<textarea name="message" placeholder="Message *"></textarea>
<input type="submit" value="Send" name="send"/>
</form>
<?php
if (isset($_POST['send']))  {
$to = "youremail@something.com";
$subject = $_POST['subject'];
$message = $_POST['message'];
$from = $_POST['email'];
$headers = "From: $from $name";
$sent = mail($to,$subject,$message,$headers);
if ($sent)  {
echo "<p style = 'color: #00ff00;'>Message was sent.</p>";
}
else    {
echo "<p style = 'color: #ff0000;'>Message was not sent.</p>";
}
}
?>