Простая контактная форма PHP с хостингом Firebase

Я пытаюсь проверить, работает ли PHP с моего хоста Firebase, используя следующее:

(Index.html)

<form action="welcome.php" method="post"> <input type="submit"> </form> 

(Welcome.php)

 <?php $to = "my@email.com"; $subject = "My subject"; $txt = "Hello world!"; $headers = "From: dummy@email.com"; mail($to,$subject,$txt,$headers); ?> 

Каждый раз, когда я пытаюсь это сделать, браузер продолжает пытаться открыть файл PHP, а не обрабатывать его. Является ли простой PHP включенным на сервере Firebase хостингом для обработки простой формы? Если я смогу заставить его работать таким образом, я буду правильно строить форму, включая проверку и т. Д.

Благодаря,

С сайта Firebase Hosting (основное внимание):

Мы поставляем весь ваш статический контент (html, js, images и т. Д.) По безопасному SSL-соединению и обслуживаем его на CDN.

Firebase Hosting предназначен для размещения статических активов. Firebase в настоящее время не предлагает никакого способа выполнить ваш код на серверах Firebase.

В соответствии с последним обновлением firebase начала использовать функции Cloud

Облачные функции для Firebase позволяют запускать код мобильного бэкэнд, который автоматически реагирует на события, вызванные функциями Firebase и HTTPS-запросами. Ваш код хранится в облаке Google и работает в управляемой среде. Нет необходимости управлять и масштабировать свои собственные серверы.

Подробнее: https://firebase.google.com/docs/functions/

Нет PHP но nodeJS доступен для серверных скриптов …

Облачные функции Google написаны на JavaScript и выполняются во время выполнения Node.js.

Mandrill также поддерживает nodeJS, и он имеет API Webhooks . Поэтому можно потребовать, чтобы модуль узла в этих «облачных функциях» и «веб-крючках» … и затем отправлял с ними HTML-форму.

Там должно быть несколько облачных функций HTTP, определенных на Firebase Console, чтобы они могли подписаться, отменить подписку и управлять своими подписками. Можно даже создать разметку HTML для входной формы с облачными функциями, а затем прикрепить ее. Например, не проверены и не включены никакие гарантии:

 const functions = require('firebase-functions'); const mandrill = require('mandrill-api/mandrill'); var client = new mandrill.Mandrill('YOUR_API_KEY'); /* TODO: add the user on Firebase, respond through the API */ exports.user_add = functions.https.onRequest((req, res) => { }); /* TODO: change subscription settings on Firebase, respond through the API */ exports.user_edit = functions.https.onRequest((req, res) => { }); /* TODO: remove the user on Firebase, respond through the API */ exports.user_remove = functions.https.onRequest((req, res) => { }); /* optional: generate the HTML markup of the form, send HTTP response */ exports.markup = functions.https.onRequest((req, res) => { }); 

Можно связать события Firebase Auth , чтобы сохранить две пользовательские базы данных в синхронизации (это не требуется для Mandrill, но требуется для MailChimp – независимо от того, использует ли он PHP-узел или узел nodeJS):

 exports.on_user_create = functions.auth.user().onCreate(event => { const user = event.data; }); exports.on_user_delete = functions.auth.user().onDelete(event => { const user = event.data; }); 

Firebase на веб-сайтах объясняет это, в то время как есть локальный эмулятор для облачных функций.

Вы можете играть с любым из них: Угловой, Эмбер, Нокаут, Реакт, Узел JS. То же самое, что вы, PHP-код, вы можете совершить с практически любыми технологиями Javascript – просто нет динамического языка. Другой способ сделать это – использовать онлайн-провайдеры, такие как Jot Forms или другие. Вы можете создать и стилизовать форму с помощью онлайн-формы, а затем просто добавить ее на свой сайт. Затем, когда пользователь отправит сообщение, он отправит его в форму. В результате у вас есть централизованная среда не только для вашего текущего сайта, но и для любых других людей в будущем. Вы можете создать веб-сервис и опубликовать значения там – тогда сделайте все, что хотите, с ними: сохраните их в базе данных … В других словах есть другой сервер, который обрабатывает все эти вещи, поэтому вы можете просто вызвать его с размещенных сайтов Firebase. надеюсь, это поможет

PS: В настоящее время я создаю продукт, который является упрощенной версией онлайн-форм, которые будут использоваться на сайтах Firebase. На данный момент я планирую использовать несколько человек, поэтому, если вы хотите, чтобы вы могли написать мне по электронной почте, и я создам учетную запись, чтобы вы ее использовали. До тех пор, пока не будет никакого злоупотребления, такого как отправка кучу писем – все будет хорошо!

введите описание изображения здесь