gpt4 book ai didi

javascript - 每次加载页面时都会触发 PHP 邮件功能

转载 作者:行者123 更新时间:2023-12-02 17:38:21 24 4
gpt4 key购买 nike

我正在尝试使用 PHP 的 mail() 函数发送邮件。

我有一个按钮(发送邮件),单击该按钮必须触发邮件。由于PHP是服务器端脚本语言,因此我使用Javascript来触发PHP函数。发生了一件非常不寻常的事件。每当我加载页面时,就会触发邮件。因此,我设置了警报和回显来检查代码逻辑是否正确。

有趣的是,当我单击按钮时,邮件没有被触发。我哪里错了?请看我的代码:

<input type="button" onclick="jMail()" value="Send Mail"/>        
<script>
function jMail()
{
alert("Inside Javascript Function");
alert("<?php PHPFunction(); ?>");
}
</script>

<?php
function PHPFunction(){
echo("Inside PHP Function");
mail("to@example.com", "Help Mee", "Definitely Help me", "From:from@example.com");
echo("Mail Sent");
}
?>

最佳答案

PHP 是服务器端语言,而 Javascript 是客户端语言。我认为您混淆了两者,并试图以一种永远行不通的方式混合使用它们。

加载页面后,这些步骤将按顺序发生:

  1. 服务器解释页面中的 PHP 代码,并呈现不包含任何 PHP 代码的页面。
  2. 查看页面的客户端显然无法访问任何 PHP 函数,因为它看到的只是详细说明的结果。它仍然可以使用 Javascript 来实现页面的动态行为(即更改而不刷新),以及类似 AJAX 的东西。仍然向服务器发出请求而不重新呈现页面。
<小时/>
<input type="button" onclick="jMail()" value="Send Mail"/>

事件onclick确实在您按下按钮时触发,但在页面完全加载之后。此时,所有 PHP 代码都已经被服务器解释完毕,如果不重新加载页面,就没有机会再次执行它。

示例:here您可以看到代码的详细结果(在stdout下)。正如您所看到的,客户端留下了一个无 PHP 的网页。

如果您正在寻找一种在页面加载后发生事件时触发 PHP 代码的方法,我建议您查看 this question .
另外,this questionprogrammers.stackexcange.com如果不清楚,可以帮助您澄清客户端和服务器端之间的区别。

关于javascript - 每次加载页面时都会触发 PHP 邮件功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22434968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com