Cara Mengintegrasikan Helaian Google dengan Borang Laman Web PHP: Panduan Langkah demi Langkah

王林
Lepaskan: 2024-09-05 22:33:41
asal
719 orang telah melayarinya

How to Integrate Google Sheets with a PHP Website Form: Step-by-Step Guide

  • Menyimpan data borang terus dalam Helaian Google membantu meningkatkan pengurusan data dan kerjasama. Penyepaduan ini membolehkan pelbagai ahli pasukan melihat dan menganalisis data dalam masa nyata, tanpa perlu berurusan dengan pertanyaan pangkalan data yang canggih.

1. Buat Helaian Google

  • Pergi ke Helaian Google.
  • Buat helaian baharu dan namakannya dengan sewajarnya, cth., "Penyerahan Borang."
  • Dalam baris pertama, buat pengepala untuk data yang ingin anda simpan. Contohnya, jika anda mengumpul nama, e-mel dan mesej, buat lajur bertajuk Nama, E-mel dan Mesej.

2. Buat Apl Web Skrip Google Apps

  • Pergi ke Sambungan > Skrip Apl.

3. Tulis Skrip Google Apps untuk Menerima Data Borang

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);
}
Salin selepas log masuk

Penjelasan:

  • fungsi doPost(e)

    • Ini ialah fungsi khas dalam Skrip Google Apps yang dicetuskan apabila apl web anda menerima permintaan HTTP POST. Parameter e mengandungi maklumat yang dihantar oleh borang.
  • let ss = SpreadsheetApp.openById("123123asdasd");

    • Barisan ini membuka Google Spreadsheet dengan ID uniknya. Gantikan ID "123123asdasd" dengan ID Helaian Google anda sendiri, yang boleh anda temui dalam URL helaian.
  • var sheet = ss.getSheetByName("Sheet1");

    • Ini mendapatkan semula helaian khusus dalam hamparan yang anda mahu tambahkan data borang. Jika helaian anda mempunyai nama yang berbeza, gantikan "Helaian1" dengan nama helaian sebenar anda.
  • data var;
    • Pembolehubah ini akan menyimpan data borang yang masuk selepas ia dihuraikan.
  • cuba { data = JSON.parse(e.postData.contents); } tangkapan (err) { data = e.parameter; }

    • Di sini, kod cuba menghuraikan data masuk sebagai JSON, dengan mengandaikan borang menghantar data sebagai JSON. Jika penghuraian gagal (bermaksud borang menggunakan format yang dikodkan URL sebaliknya), ia akan kembali kepada e.parameter, yang mengandungi data borang yang dikodkan URL.
    • JSON.parse(e.postData.contents): Percubaan untuk menghuraikan kandungan permintaan sebagai JSON.
    • e.parameter: Memegang data borang jika ia dihantar dalam format yang dikodkan URL (seperti biasa untuk borang HTML).
  • sheet.appendRow([data.fname, data.email, data.message]);

    • Ini menambahkan data daripada borang ke baris seterusnya yang tersedia dalam Helaian Google. Data diekstrak daripada objek data, yang mengandungi dalam medan input borang
  • kembali ContentService.createTextOutput("Kejayaan").setMimeType(ContentService.MimeType.TEXT);

    • Selepas berjaya menambahkan data pada helaian, baris ini mengembalikan mesej kejayaan ("Kejayaan") kepada pelanggan (tapak web atau apl yang menyerahkan borang).
      • ContentService.createTextOutput("Success"): Mencipta respons teks biasa yang mengandungi perkataan "Success".
      • setMimeType(ContentService.MimeType.TEXT): Menetapkan jenis MIME respons kepada teks biasa.

4. Gunakan Skrip sebagai Apl Web

  1. Klik pada Deploy > Uji penempatan di penjuru kanan sebelah atas editor skrip.
  2. Pilih Uruskan penempatan, kemudian klik pada Penerapan Baharu.
  3. Dalam menu lungsur "Pilih jenis", pilih apl Web.
  4. Di bawah Laksanakan sebagai, pilih Saya.
  5. Di bawah Siapa yang mempunyai akses, pilih Sesiapa sahaja.
  6. Klik Pasang dan salin URL Apl Web yang dijana dan salin itu.

5. Kod PHP untuk Menghantar Data Borang ke Apl Web Skrip Google Apps

Kod 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>

Salin selepas log masuk

Kod PHP:

<?php
if ($_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);
}
?>
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Mengintegrasikan Helaian Google dengan Borang Laman Web PHP: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!