Включить / не требовать — скрипт онлайн оплаты

У меня очень странная проблема:
Я создал простой магазин на основе WordPress. Я продаю электронные книги и отправляю их по электронной почте. Я использую онлайн-платежи и у меня есть плагин для работы с ними. Он имеет встроенный шлюз в php файле. Я хочу внедрить свой код в этот скрипт, чтобы автоматизировать продажи. Это выглядит так:

<?php
//1. Get payment info from payment service via $_POST
//2. Chceck all hashes etc.
//3. Get status to variable e.g. $status
if ($status == 99)//everything is ok
{
$order_id = $_POST["no_of_transaction"];
log_to_file("Yeah i am workig. id =".$order_id."with status ".$status);
include $_SERVER["DOCUMENT_ROOT"]."/sell_stuff.php";
log_to_file("Yeah i am still workig");
}
?>

sell_stuff.php:

<?php
log_to_file("Hello i am in sending script!");
//i assume that $order_id is still visible
$order = mysql_fetch_assoc(mysql_query("SELECT * FROM order where id=".$order_id));
$mail->to = $order['email'];
$mail->attachment = "/upload/pdf/".$order['book'].'.pdf';
$mail->send();
?>

И этот метод вообще не работает 🙁 Я пытался изменить include, чтобы требовать и использовать ABSPATH вместо $ _SERVER [«DOCUMENT_ROOT»], но он все равно не работает. Последнее, что вошло в файл журнала, это «» Да, я работаю. Id = ххх с состоянием = 99 «.
Я создал файл test.php следующим образом:

<?php
echo "Yeah i am workig";
$oder_id = 100; //my own order
include $_SERVER["DOCUMENT_ROOT"]."/sell_stuff.php";
echo "Yeah i am still workig";
?>

… и когда я запускаю это через www.mystore.com/test.php, это работает отлично. Это вход в файл «Здравствуйте, я в отправке сценария!» и все остальное.
Я не знаю, где я делаю ошибку 🙁

1

Решение

Попробуйте опустить «/» и использовать его следующим образом:

$_SERVER["DOCUMENT_ROOT"]."sell_stuff.php";

Также $ _SERVER [«DOCUMENT_ROOT»] генерирует путь к вашей корневой папке www, например

www.serwer.com/www/

Если у вас есть ваш сайт в:

www.serwer.com/www/www2/

это не будет включено. Если вы будете использовать:

__DIR__."/sell_stuff.php";

он получит путь к месту, где находится ваш файл.

www.serwer.com/www/www2/

Вы всегда можете:

var_dump($_SERVER["DOCUMENT_ROOT"]);
var_dump(__DIR__);

чтобы увидеть разницу и путь, который вы получаете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]