このドキュメントとhereを使用して、Google Datastoreにフォームデータを投稿しようとしています。私はフォームデータをデータストアに投稿する方法を知ることに苦労していますが、私は次のエラーが発生したときにそれをクラックしたと思いました。Googleクラウドで「使用」を使用して解析エラーが発生しました
Parse error: syntax error, unexpected 'use' (T_USE) in record-usage.php on line 23
だから私の質問は二つの部分である:
- は、どのように私は自分のフォームからデータストアにデータを投稿するのですか? (ドキュメントの例では、店舗への投稿方法が2種類あります)
- この構文エラーを修正するにはどうすればよいですか?
は、ここで(それは以下のサンプルで行実際に7です)私のコードです:
if(isset($_POST['submit'])) {
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';
# Imports the Google Cloud client library
use Google\Cloud\Datastore\DatastoreClient;
# Your Google Cloud Platform project ID
$projectId = 'room-usage';
# Instantiates a client
$datastore = new DatastoreClient([
'projectId' => $projectId
]);
# The kind for the new entity
$kind = 'RoomUsage';
# The name/ID for the new entity
$name = $roomname + $_POST('timestamp');
# The Cloud Datastore key for the new entity
$taskKey = $datastore->key($kind, $name);
if($_POST('countinput') == '') {
$formdata->Headcount = $_POST('countslider');
} else {
$formdata->Headcount = $_POST('countinput');
}
$formdata->Timestamp = $_POST('timestamp');
$formdata->EnteredBy = $_POST('userid');
$formdata->RoomID = $_POST('roomid');
$formdata->Activity = $_POST('activity');
$formdata->Estimate = $_POST('estimate');
$formdata->NotAudited = $_POST('notaudited');
$formdata->Reason = $_POST('reason');
function save_room_usage(DatastoreClient $datastore, $formdata) {
$RoomUsage = $datastore->RoomUsage();
$transaction->updateBatch([$formdata]);
$transaction->commit();
}
# Prepares the new entity
$task = $datastore->entity($taskKey,
['Timestamp' => $_POST('timestamp'),
'Headcount' => $formdata->Headcount,
'EnteredBy' => $_POST('userid'),
'RoomID' => $_POST('roomid'),
'Activity' => $_POST('activity'),
'Estimate' => $_POST('estimate'),
'NotAudited' => $_POST('notaudited'),
'Reason' => $_POST('reason')]);
# Saves the entity
$datastore->upsert($task);
$status = 'Saved ' . $task->key() . ': ' . $task['description'];
}
Hey Yvonne。 Google Cloud PHPのDatastoreの使用に関するドキュメントは、https://googlecloudplatform.github.io/google-cloud-php/#/docs/cloud-datastore/v0.1.0/datastore/datastoreclientにあります。クライアントを作成しました。あなたがドキュメントで答えられていない質問があるなら、私に教えてください! – jdp
私はまた、あなたのコードの実用的なバージョンの簡単な実例をまとめました。それはあなたがそれをどのように使用しているのかは100%ではありませんが、それはあなたに仕事をするためのテンプレートを与えるはずです。最終的なアプリケーションでは、悪意のあるユーザーがスクリプトを利用できないように、入力検証を行う必要があります。しかし、この例の範囲外です。 https://gist.github.com/jdpedrie/a9973a3835535e9cef13b2fa5b3c6f96 – jdp
本当に助けてくれてありがとう。しかし、このエラーが発生しました。「致命的なエラー:クラス 'Google \ Cloud \ Datastore \ DatastoreClient'が/base/data/home/apps/e~brookes-room-usage/1.399853826395726238/record-usage.phpに見つかりませんおそらく私はそのクラス(OO PHPは私の強い訴訟ではない、申し訳ありません)に正しく私のアプリケーションを指摘していません –