Php在没有刷新页面的情况下单击图像时启动if语句

时间:2016-03-01 20:15:40

标签: php html ajax if-statement

我正在尝试创建一个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语句而不刷新页面。

我已经尝试了几件事,但却无法实现。有人可以帮我这么做吗?

2 个答案:

答案 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} })。