我对创建联系表单有疑问。目前我有一个表单和一些PHP代码。但每次当我点击提交按钮时,我都会被重定向到php网站,而不是发送实际的邮件。
这是我的代码:
HTML表单:
<form action="send.php" method="post" target="_new">
<h1>Name:</h1> <br><input type="text" name="name" class="name"><br>
<h1>E-mail:</h1> <br><input type="text" name="email" class="email"><br>
<h1>Message:</h1> <br><textarea rows="20" cols="60" width="450px" height="210px" name="message"></textarea><br>
<input type="submit" name="submit" value="submit" class="submit">
</form>
Php页面:
<?php
$recipient = "myemail@mail.com";
if (isset($_POST['email'])){
$mail = $_POST['email'];
$name = $_POST['name'];
$message = $_POST['message'];
mail("$recipient", $name, $message);
}
header('Location: send.php');
?>
我在互联网上看到有可能使用Ajax和javascript?但我对AJAX不太熟悉。所以帮助真的很感激! :d
此表单唯一要做的就是在点击提交按钮的同时,在不打开邮件程序的情况下向我的电子邮件帐户发送电子邮件。
谢谢!
答案 0 :(得分:0)
当您单击提交按钮时,在将邮件功能irt重定向到send.php
后,操作将转到send.php
。所以自我循环开始了。你需要改变它
将页面重定向到您的表单页面。即,
header('Location: send.php'); //change it !!
此外,您需要mail server
从本地计算机发送邮件,否则您需要托管该项目。
如果您想使用AJAX
发送邮件,请执行以下代码:
<script>
$('form').submit(function(){
$.ajax({
url:'send.php',
data:$('form').serialize(),
success:function(response){
alert(response);
}
});
return false;
});
</script>
然后 send.php 就像
$recipient = "myemail@mail.com";
if (isset($_POST['email'])){
$mail = $_POST['email'];
$name = $_POST['name'];
$message = $_POST['message'];
if(mail($recipient, $name, $message)){
echo 'Mail sent';
}
else{
echo 'Mail cant sent';
}
}
答案 1 :(得分:0)
请删除$收件人中的“” 邮件($ recipient,$ name,$ message);
答案 2 :(得分:0)
<form method="post">
<h1>Name:</h1> <br><input type="text" id="name" name="name" class="name"><br>
<h1>E-mail:</h1> <br><input type="text" id="email" name="email" class="email"><br>
<h1>Message:</h1> <br><textarea id="msg" rows="20" cols="60" width="450px" height="210px" name="message"></textarea><br>
<input type="submit" name="submit" value="submit" class="submit">
</form>
<script>
$.ajax({
type: "post",
url: "send.php",
data: {name: $('#name').val(), email: $('#email').val(), message: $('#msg').val()},
success: function(result){
alert("Mail send!");
}
});
</script>
你的php代码是相同的,但你不需要标题。