Похоже, это не имеет ничего общего с тем, что в этом скрипте, а с тем, откуда оно загружено. Попробуйте указать действие формы для абсолютного пути, а не относительного, т.е. action="/contact.php"
, а не относительного action="contact.php"
или action="../contact.php"
. Таким образом, он всегда будет указывать на один и тот же скрипт, независимо от того, откуда он был отправлен.
Отдельно от проблемы, которую вы описываете, эта строка выглядит подозрительно:
require 'PHPMailer-master/vendor/autoload.php';
Это говорит о том, что вы можете использовать собственный файл composer.json
PHPMailer; Вы должны использовать это, только если вы работаете на PHPMailer, а не просто используете его в своем проекте. Обычно вы ожидаете, что папка vendor
и файл composer.json
будут на верхнем уровне вашего собственного проекта, а файлы PHPMailer были бы помещены в vendor/phpmailer
композитором - хотя вам не нужно об этом беспокоиться, потому что vendor/autoload.php
выяснит это. Пожалуйста, прочтите readme, чтобы узнать, как установить PHPMailer в ваш собственный проект, используя composer.