PHP前端开发

如何将 Google 表格与 PHP 网站表单集成:分步指南

百变鹏仔 1个月前 (12-16) #PHP
文章标签 表单

1.创建 google 表格

2.创建 google apps 脚本 web 应用

3.编写 google apps 脚本来接受表单数据

function dopost(e) {  let ss = spreadsheetapp.openbyid("123123asdasd"); // change "spreadsheetappid" to your actual sheet id  let sheet = ss.getsheetbyname("sheet1"); // change "sheet1" to your actual sheet name  let data;  try {    data = json.parse(e.postdata.contents);  } catch (err) {    data = e.parameter;  }  sheet.appendrow([data.fname, data.email, data.message]);  return contentservice.createtextoutput("success").setmimetype(contentservice.mimetype.text);}

说明:

4。将脚本部署为 web 应用程序

  1. 单击脚本编辑器右上角的“部署 > 测试部署”。
  2. 选择管理部署,然后单击新建部署。
  3. 在“选择类型”下拉列表中,选择 web 应用程序。
  4. 在“执行为”下,选择“我”。
  5. 在“谁有权访问”下,选择“任何人”。
  6. 单击“部署”并复制生成的 web 应用程序 url。

5。用于向 google apps 脚本 web 应用程序提交表单数据的 php 代码

html 代码:

<!doctype html><html lang="en"><head>    <meta charset="utf-8">    <title>submit form</title></head><body>    <form method="post" action="submit.php">        <label for="name">name:</label>        <input type="text" name="name" required><br>        <label for="email">email:</label>        <input type="email" name="email" required><br>        <label for="message">message:</label>        <textarea name="message" required></textarea><br>        <input type="submit" value="submit">    </form></body></html>

php 代码:

<?phpif ($_SERVER["REQUEST_METHOD"] == "POST") {    $url = 'YOUR_WEB_APP_URL'; // Replace with your Google Apps Script Web App URL    $postData = array(        'name' => $_POST['name'],        'email' => $_POST['email'],        'message' => $_POST['message'],    );    $ch = curl_init($url);    $postFields = http_build_query($postData);    curl_setopt($ch, CURLOPT_POST, 1); // Send a POST request    curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); // Attach the POST fields    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return the response as a string    $response = curl_exec($ch);    if ($response === false) {        $error = curl_error($ch);        echo "cURL error: $error";    } else {        echo "Server response: $response";    }    curl_close($ch);}?>