Javascript 从模板中使用PHPjQuery和HTML5的联系人表单
这就是与CSS集成的Html页面,PHP中的表单和对js脚本的调用Javascript 从模板中使用PHPjQuery和HTML5的联系人表单,javascript,php,html,jquery,twitter-bootstrap,Javascript,Php,Html,Jquery,Twitter Bootstrap,这就是与CSS集成的Html页面,PHP中的表单和对js脚本的调用 <section class="contact-section"> <div class="container"> <div class="d-none d-sm-block mb-5 pb-4"></div> <div class="
<section class="contact-section">
<div class="container">
<div class="d-none d-sm-block mb-5 pb-4"></div>
<div class="row">
<div class="col-12">
<h2 class="contact-title">Inoltra qui la tua richiesta</h2>
</div>
<div class="col-lg-8">
<form class="form-contact contact_form" action="contact_process.php" method="post" id="contactForm" novalidate="novalidate">
<div class="row">
<div class="col-12">
<div class="form-group">
<textarea class="form-control w-100" name="message" id="message" cols="30" rows="9" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Inserisci il Messaggio'" placeholder="Inserisci il Messaggio"></textarea>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input class="form-control valid" name="name" id="name" type="text" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Nome'" placeholder="Nome">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input class="form-control valid" name="email" id="email" type="email" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Inserisci l'indirizzo mail'" placeholder="Email">
</div>
</div>
<div class="col-12">
<div class="form-group">
<input class="form-control" name="subject" id="subject" type="text" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Inserisci Oggetto'" placeholder="Inserisci Oggetto">
</div>
</div>
</div>
<div class="form-group mt-3">
<button type="submit" class="button button-contactForm boxed-btn">Invia</button>
<br><br>Questo sito è protetto dal sistema antispam Google Recaptcha.
<a href="https://policies.google.com/privacy">Privacy Policy</a> e <a href="https://policies.google.com/terms">Termini di servizio</a>
</div>
</form>
</div>
我的问题是,为什么所有上传的内容都似乎没有任何效果?有线索吗
请帮助我用我微薄的知识检查代码,但我找不到错误。这是我的工作代码,你应该试试。只要改变变量 这是我的简单HTML联系人表单,带有类似您的CSS
<div class="contact-form">
<h4 class="title-top-w3">Get in touch<span>|</span></h4>
<h5 class="title-main-w3ls">Contact Me</h5>
<div class="alert" id="status"></div>
<div class="col-md-6 styled-input-w3-agile">
<input type="text" name="Full Name" id="name" placeholder="Enter your name" required="">
</div>
<div class="col-md-6 styled-input-w3-agile">
<input type="email" name="Email" id="email" placeholder="Enter your email" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile">
<input type="phone" name="" id="phone" placeholder="Enter phone number" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile">
<input type="text" name="Subject" id="title" placeholder="Enter the discussion title" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile textarea-grid">
<textarea name="Message" id="message" placeholder="Write your message" required=""></textarea>
</div>
<input type="submit" id="send" value="Send Message">
</div>
下面是sendmail.php,其中sendmail类执行函数getMailStatus,该函数在验证后将所有参数发送到mail()函数中,并返回JQuery中使用的$status
<?php
class Sendmail{
function getMailStatus(){
//Check For Submit
$status = '';
//Get Form Data
$name = htmlspecialchars($_POST['name']);
$phone = htmlspecialchars($_POST['phone']);
$email = htmlspecialchars($_POST['email']);
$title = htmlspecialchars($_POST['title']);
$message = htmlspecialchars($_POST['message']);
if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){
$status = '3';
} else {
// Passed
// Recipient Email
$toEmail = 'omotayotemi47@gmail.com';
$subject = ''.$title;
$body = '<h2>Contact Request</h2>
<h4>Name</h4><p>'.$name.'</p>
<h4>Phone Number</h4><p>'.$phone.'</p>
<h4>Email</h4><p>'.$email.'</p>
<h4>Message</h4><p>'.$message.'</p>
';
//Email Headers
$headers ="MIME-Version: 1.0" ."\r\n";
$headers .="Content-Type:text/html;charset=UTF-8" . "\r\n";
// Additional Headers
$headers .= "From: " .$name. "<".$email.">". "\r\n";
if(mail($toEmail, $subject, $body, $headers)){
// Email Sent
$status = '1';
} else {
//Failed
$status = '2';
}
}
return $status;
}
}
$test = new Sendmail();
echo $test->getMailStatus();
?>
这是我的工作代码,你应该试试。只要改变变量 这是我的简单HTML联系人表单,带有类似您的CSS
<div class="contact-form">
<h4 class="title-top-w3">Get in touch<span>|</span></h4>
<h5 class="title-main-w3ls">Contact Me</h5>
<div class="alert" id="status"></div>
<div class="col-md-6 styled-input-w3-agile">
<input type="text" name="Full Name" id="name" placeholder="Enter your name" required="">
</div>
<div class="col-md-6 styled-input-w3-agile">
<input type="email" name="Email" id="email" placeholder="Enter your email" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile">
<input type="phone" name="" id="phone" placeholder="Enter phone number" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile">
<input type="text" name="Subject" id="title" placeholder="Enter the discussion title" required="">
</div>
<div class="clearfix"> </div>
<div class="styled-input-w3-agile textarea-grid">
<textarea name="Message" id="message" placeholder="Write your message" required=""></textarea>
</div>
<input type="submit" id="send" value="Send Message">
</div>
下面是sendmail.php,其中sendmail类执行函数getMailStatus,该函数在验证后将所有参数发送到mail()函数中,并返回JQuery中使用的$status
<?php
class Sendmail{
function getMailStatus(){
//Check For Submit
$status = '';
//Get Form Data
$name = htmlspecialchars($_POST['name']);
$phone = htmlspecialchars($_POST['phone']);
$email = htmlspecialchars($_POST['email']);
$title = htmlspecialchars($_POST['title']);
$message = htmlspecialchars($_POST['message']);
if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){
$status = '3';
} else {
// Passed
// Recipient Email
$toEmail = 'omotayotemi47@gmail.com';
$subject = ''.$title;
$body = '<h2>Contact Request</h2>
<h4>Name</h4><p>'.$name.'</p>
<h4>Phone Number</h4><p>'.$phone.'</p>
<h4>Email</h4><p>'.$email.'</p>
<h4>Message</h4><p>'.$message.'</p>
';
//Email Headers
$headers ="MIME-Version: 1.0" ."\r\n";
$headers .="Content-Type:text/html;charset=UTF-8" . "\r\n";
// Additional Headers
$headers .= "From: " .$name. "<".$email.">". "\r\n";
if(mail($toEmail, $subject, $body, $headers)){
// Email Sent
$status = '1';
} else {
//Failed
$status = '2';
}
}
return $status;
}
}
$test = new Sendmail();
echo $test->getMailStatus();
?>
什么不起作用?处理处理过程的PHP还是javascript?你做了什么调试?我不知道什么不起作用,因为当我试着看看哪里出了问题时,调试软件似乎一切正常,所以我想知道我是否遗漏了什么,或者我的服务器有问题。你确切的意思是什么调试软件?例如,您是否使用浏览器中的开发人员工具检查AJAX的控制台错误和问题?确切地说,你所说的“什么都不起作用”是什么意思?清楚地描述加载页面时发生的情况。你能看到表格吗?您可以输入文本并提交吗?当您尝试提交时会发生什么?验证有效吗?它是否尝试提交表单?数据是否到达PHP。我还注意到,您的PHP代码并不费心检查mail()
是否成功。是的,我使用了chrome的控制台来查看页面中的所有脚本是否都正常运行,并且看起来还可以。但我重复一遍,我完全是php和jscript的noob,所以如果您有建议,他们会非常感激“当我尝试提交表单时,什么也没有发生”……这表明JavaScript失败(因此您可能有控制台错误,或者您的脚本没有正确绑定到事件),或者AJAX失败(在这种情况下,通常还会出现控制台错误,或者至少您可以在浏览器的网络工具中看到一些东西,这些东西表明调用contact_process.php时发生了什么)。“什么都没有发生”这不是对问题的一个有用的描述——很可能发生了一些事情,你只是还没有观察到而已。什么不起作用?处理处理过程的PHP或javascript?你做了什么调试?我不知道什么不起作用,因为当我试着看出哪里出了问题时,调试软件似乎都没问题因此,我想知道我是否遗漏了一些东西,或者我的服务器出现了问题。你说的调试软件到底是什么意思?例如,你是否使用浏览器中的开发人员工具来检查控制台错误和AJAX问题?你说的“什么都不起作用”是什么意思,准确地说?清楚地描述加载页面时发生的情况。你能看到表单吗?你能输入文本并提交吗?当你尝试提交时会发生什么?验证有效吗?它是否尝试提交表单?数据是否到达PHP。我还注意到,你的PHP代码不需要检查mail()
成功与否。是的,我使用chrome的控制台查看页面中的所有脚本是否运行良好,看起来还可以。但我重复一遍,我完全是php和jscript的noob,因此如果您有建议,他们会非常感激“当我尝试提交表单时,什么也没有发生”…这表明JavaScript失败了(因此,要么您有控制台错误,要么您的脚本没有正确绑定到事件),要么调用了失败的AJAX(其中经常出现控制台错误,或者至少您可以在浏览器的网络工具中看到一些东西,表明调用contact_process.php时发生了什么)。“什么都没有发生”但是,这不是对问题的有用描述-很可能发生了一些事情,你只是还没有观察到而已。请解释你改变了什么,以及为什么-这有助于其他人从你的回答中学习这里有太多的代码,不需要任何解释。一个有用的回答实际上是对代码进行注释,并解释我的错误t、 否则,你会期望人们自己发现并理解其中的重要部分,如果他们一开始就带着相关问题来到这里,这对他们来说可能很困难。而且这样做很费时,而你,已经知道代码的人,可以让它更容易理解。更简单、更有用的你的答案是,它会吸引更多的投票。我已经编辑了代码,并简要解释了每个阶段会发生什么。这是一个工作代码,我在实现后使用了一点研究,你正在进行中。我不得不懒洋洋地使用我自己的变量,这些变量与他的相对应。谢谢。请解释你改变了什么,以及为什么-这有助于其他人改变从你的回答中学习这里有太多的代码,不需要任何解释。一个有用的答案实际上是对代码进行注释和解释。否则,你期望人们自己发现并理解代码的重要部分,如果他们首先带着相关问题来到这里,很可能很难理解r他们。这样做也很费时,而你,谁已经知道的代码可以使它容易理解。你的答案越简单和有用,它将吸引更多的选票。我编辑了代码,并简要说明了在每个阶段发生的事情。这是一个工作代码,我正在使用一个小研究后实现,你是以你的方式。我不得不懒洋洋地使用我自己的变量,这些变量是相对于他的。谢谢
<?php
class Sendmail{
function getMailStatus(){
//Check For Submit
$status = '';
//Get Form Data
$name = htmlspecialchars($_POST['name']);
$phone = htmlspecialchars($_POST['phone']);
$email = htmlspecialchars($_POST['email']);
$title = htmlspecialchars($_POST['title']);
$message = htmlspecialchars($_POST['message']);
if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){
$status = '3';
} else {
// Passed
// Recipient Email
$toEmail = 'omotayotemi47@gmail.com';
$subject = ''.$title;
$body = '<h2>Contact Request</h2>
<h4>Name</h4><p>'.$name.'</p>
<h4>Phone Number</h4><p>'.$phone.'</p>
<h4>Email</h4><p>'.$email.'</p>
<h4>Message</h4><p>'.$message.'</p>
';
//Email Headers
$headers ="MIME-Version: 1.0" ."\r\n";
$headers .="Content-Type:text/html;charset=UTF-8" . "\r\n";
// Additional Headers
$headers .= "From: " .$name. "<".$email.">". "\r\n";
if(mail($toEmail, $subject, $body, $headers)){
// Email Sent
$status = '1';
} else {
//Failed
$status = '2';
}
}
return $status;
}
}
$test = new Sendmail();
echo $test->getMailStatus();
?>