我正在嘗試遵循這個教程。https://html.form.guide/email-form/php-form-to-email/,將一個簡單的php腳本部署到谷歌應用引擎。我想從localhost加載表單并發布到app引擎的鏈接。當我這樣做時,$_POST是空的。當從另一個服務器/localhost發布到app-engine托管的服務時,這是不是一個問題?
代碼:
app.yaml:
runtime: php55
api_version: 1
threadsafe: true
處理程式:
- url:/span> .*
script: formemailer.php
php腳本:
<?php
if(!isset($_POST['submit'])
{
echo "error; you need to submit the form!" ;
}
? >
表單:
< form method="post" action="https: //<url>. appspot.com/formemailer.php">。
<p>
<label for='name'>輸入名稱。</label><br>
< input type="text" name="name">
</p>/span>
< input type="submit" name="submit" value="submit" />
</form>
uj5u.com熱心網友回復:
你可以通過寫真實的url將資料發布到另一個服務器上,如果你的url是確定的,那么發布的資料必須被傳遞,但如果你檢查了你的url,它是真實的,但你仍然有一個問題,你可以使用api呼叫來做到這一點
。header('Content-Type: application/json') 。
$data = json_decode(file_get_contents("php://input") 。)
header("Content-Type: application/json")。
$name = $data-> name;
$to = "[email protected]"/span>;
$message = $name . "hiii"。
$subject = "test mail"。
mail($to, $message, $subject) 。
通過這樣做,你可以用curl進行api呼叫來完成郵件功能,并通過curl請求從服務器傳遞資訊,我希望你覺得這個答案對你有幫助,如果mail()函式沒有為你作業或給你一個錯誤,你可以試試phpmailer,如果你有任何問題,你可以評論,我將回答他們
uj5u.com熱心網友回復:
當從其他服務器/本地主機發布到app-engine托管服務時,這是否是一個問題?
不,服務器會在發送POST請求時接收它。
而且是的,因為你這樣做有問題。
它應該可以作業,但是現在該怎么做呢?
使用瀏覽器中的網路工具來驗證實際發送至服務器的內容。這可能已經為您提供了一些更多的見解。
現在的網路工具是與您的瀏覽器一起使用的,請參見:
網路工具是與您的瀏覽器一起使用的。
或者你的瀏覽器的檔案。
對于在Google App Engine上運行的PHP 5應用程式,你可以在以下網址找到處理表單輸入的專門教程:
然而,強烈建議(不僅在App Engine,而且在一般情況下)使用PHP 7運行時。這應該與你的問題無關,但是最好從一開始就使用PHP 7(如果你允許我這樣評論的話)。
一般的資訊(也適用于 PHP 5 和 7)可以在這里找到:
如果你想了解PHP一般是如何處理的,獨立于任何平臺,你可以在PHP手冊中找到概述:
處理表單。
對于您所要求的瀏覽器的一般處理方法--一個主機上的表單(甚至是本地的HTML檔案)發布到另一個主機上,請參見這個相關的Q/A:
。
uj5u.com熱心網友回復:
appspot.com一直是很多釣魚攻擊的主機。它很可能是作為一個安全問題而被封鎖的。
appspot.com已經成為很多釣魚攻擊的主機。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/317607.html
標籤:
上一篇:從GooglePub/Sub呼叫GoogleAppEngine端點
下一篇:回呼不是異步庫中的一個函式
