У меня есть файл PHP, который обрабатывает отправку подтверждающих писем. У меня также есть календарь, который я использую AJAX для различных обновлений. Когда AJAX вызывает файл обновления, он обновляет базу данных новой информацией, и я хочу, чтобы письма с подтверждением отправлялись.
Итак, внутри php-файла, который вызывает AJAX, я решил, что должен include("email-sender.php?stage=confirm2a&job={$slot->job_id}
, который вызывает страницу php электронной почты, с переменными $ _GET, которые сообщают ему, какие письма отправлять и кому.
Но по какой-то причине я не могу заставить работать include, когда вы используете пары ?key=value
$ _GET, прикрепленные к строке. PHP.net говорит мне, что вы можете использовать переменные $ _GET во включении, но когда я настраивал простой тест, он не работает.
Моя тестовая страница имеет одну ссылку, которая при нажатии отправляет на страницу ajax-вызов вместе с данными, содержащими одну переменную «ферма», которая равна значению «животное». Как это:
$("a.testlink").click(function() {
var mydata = "farm=animal";
$.ajax({
url: "ajaxPHP.php",
data: mydata,
success: function(rt) {
alert(rt);
}
});
Итак, ajaxPHP.php говорит:
if($_GET['farm']) {
$var = $_GET['farm'];
echo $var;
}
В этот момент в сообщении об успехе отображается «животное» при нажатии на ссылку. Это верно.
Но если я изменю ajaxPHP.php на это:
if($_GET['farm']) {
$var = $_GET['farm'];
include("ajaxInclude.php?farm={$var}");
}
И есть файл с именем ajaxInclude.php, который говорит:
if($_GET['farm']) {
$var = $_GET['farm'];
echo $var;
}
Затем, когда я нажимаю на ссылку, я получаю пустое оповещение. Таким образом, include не работает со строкой запроса, добавленной в конец.
Любая помощь?
Сложение
Так что теперь у меня есть следующее:
$stage = "confirm2a";
include("email-sender.php");
$stage = "confirm2b";
include("email-sender.php");
А затем в email-sender.php, очевидно, много кода вроде:
if($stage == "confirm2a") {
email Person 1 etc...
}
if($stage == "confirm2b") {
email Person 2 etc...
}
Но когда я запускаю сценарий, только Человек 1 получает электронное письмо и только один раз. Не уверен, почему ...