Using an external POST/PUT form handler on a static site

64 views Asked by At

I've been trying to set up a site on Github Pages, but their sites are static content only, and I need a form. What I want to do is have Github Pages as the frontend, use <iframe> for external dynamic content, and have a form that goes to the CGI handler, so that I can store the submissions in a "database" I wrote in Python (It stores data in Google Sheets) for future use. I would like this to be XHTML friendly also. While this isn't very difficult to do in JavaScript, inevitably someone will visit with JavaScript disabled. In essence...

+----------------+                     +-------------+
| Github Pages   +======Form data=====>| CGI Handler |
| Static, no PHP |<===Dynamic Content==+ Form Handler|
| No JavaScript  |                     +-----+-------+
| if possible    |                           |  ʌ    
+----------------+                           |  |
         ʌ                                   V  |
         |    +----------+             +--------+-----+
         |    | The Web  |             | The Database |
         +----+ Visitors |             | (Google      |
              |          |             | Sheets)      |
              +----------+             +--------------+

Notes:

  • I am hosting the external CGI Handler and Python database client (separate computers) from my office, thus the external servers are about as customizable as possible. (No web server because of blocked ports by ISP)
  • Spinning up a web server specifically for receiving POST/PUT data is fine, but I'd like the most lightweight solution possible.
  • Connecting the external POST receiver to the Python database is not a priority, but help with that would be appreciated.
  • Avoid JavaScript for those who turn off JavaScript, if it is more "efficient" to use JavaScript then I can do a JavaScript page and a non-JavaScript page (just a redirect with a redirect running first)

Any and all help is appreciated! Thank you!

-------------------------------------------------------------------------------------------

EDIT: Since I posted this, I have changed from using a SQL database to a simple Python client for Google Sheets, which is where I store the data.

0

There are 0 answers