我正在尝试创建一个if语句来启动我的mail();单击图像时的PHP代码。
到目前为止我已尝试过这个:
<?php
$to = "ravncompany@gmail.com";
$subject = $_POST['subject'];
$message = $_POST['TextField'];
$header = "From: MyEmail@email.com";
if (isset($_POST['SendButton'])) {
mail($to, $subject, $message, $header);
}
?>
html
<input type="image" alt="submit form" name="SendButton" id="SendButton" src="./Photos/SendButton.png">
这不发送我的电子邮件,虽然我确定它是if语句是问题,因为如果我删除if语句然后它将发送电子邮件。
但是,即使我确实让我的代码工作,我也不认为它会削减它,因为我正在创建一个Ajax Web,而现在当我按下输入图像然后刷新页面时。在我的情况下,这意味着它从联系页面到主页。
我的网络功能的方式是我有一个Main.php我加载contact.php,home.html等...进入。所以在contact.php中按下提交按钮会刷新将home.html加载到main.php的网站,因为home.html设置为默认值。
所以我需要在单击图像时在php中启动if语句而不刷新页面。
我已经尝试了几件事,但却无法实现。有人可以帮我这么做吗?
答案 0 :(得分:1)
在你的onclick事件中调用此函数
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
在你的mail.php
中<script>
function mail()
{
var subject="your value";
var message="your message";
$.ajax({
type: "post",
context: document.body,
url: "mail.php",
data: {id: subject ,name:message},
success: function(data)
{
alert("mail sent successfully");
}
});
}
</script>
你想象这样的按钮
<?php
$to = "ravncompany@gmail.com";
$subject = $_POST['subject'];
$message = $_POST['TextField'];
$header = "From: MyEmail@email.com";
mail($to, $subject, $message, $header);
?>
答案 1 :(得分:0)
您已声明需要通过ajax调用发送电子邮件,而不是重新加载页面。这不能在纯PHP中完成,因为它是服务器端语言。当您正在通过PHP代码发送电子邮件时,必须通过Javascript对您的PHP脚本执行ajax调用。
保持表单不刷新页面结帐这个关于stackoverflow的问题的答案:https://stackoverflow.com/a/1263859/2646455
这里有一些关于jQuery中ajax的阅读材料(一个非常有用的javascript库)http://api.jquery.com/jquery.ajax/(http://api.jquery.com是初学者学习javascript和事件驱动编程的丰富信息,{{3} })。