Перед тем как строить движки сайтов по MVC, надо сначала прочитать букварь по веб-разработке.
И узнать из него, что
- РНР запускается на сервере. А все формы отображаются в браузере у пользователя.
- РНР запускается заново на каждый запрос.
- на странице с формой никаких функций РНР нет. РНР со всеми своими функциями остался на сервере
- РНР знать ничего не знает ни про какие страницы. Он видит только НТТР запросы. Который приходят не "со страниц", а от НТТР клиента. Который может быть браузером, а может быть какой угодно другой программой. Но даже если и браузер, то опять же, запрос приходит не "со страницы". А из НТТР клиента. В теории, клиент может сообщить серверу, какую страницу он запрашивал перед этим, но как правильно сказано в соседнем ответе, эту информацию легко подделать.
- все значения констант, установленные про вызове одного скрипта, тоже остались на сервере, и если после этого обратиться к совсем другому скрипту, то он знать ничего не знает про то что делал первый.
И уже самостоятельно сделать из этой информации вывод о том, что
Запретить "ссылке отрабатывать самостоятельно, за пределами страницы с формой" невозможно.
И здесь мы переходим к следующему вопросу.
Почему вдруг роботы со всего мира вдруг с цепи сорвались и пытаются заргистрироваться на сайте?
А потому что почему-то вместо регистрации скрипт называется send_mail.
А боты очень любят писать письма. И как только находят скрипт, который отправляет почту, тут же начинают его дергать, как теленок - мамкину сиську.
Для того, чтобы они перестали, достаточно просто назвать вещи своими именами. И со страницы регистрации отправлять клиента не на скрипт, который отправляет почту, а на скрипт, который занимается регистрацией.