如何创建一个页面,该页面可以在没有数据库的情况下从另一个页面以HTML表单更新?

问题描述 投票:1回答:1

这就是我要寻找的。我无法弄清楚该如何编码,并且已经阅读了许多其他类似的问题。

我想要的是一个母版页,无需数据库也无需使用PHP来更新另一个。这是因为我无权访问这些资源,因为这是我自己工作的副项目。

这就是我在脑海中计划的方式。

表单页面每个标题将有2个单选按钮。代表前进和后退。用户可以选择其中一个单选按钮并提交表单。

显示页面将显示标题和与所选单选按钮相对应的所选图像。当从表单页面提交新的更新时,如果页面内容发生更改,也必须对其进行更新。该页面将对多个用户可见,并向所有用户更新。

所以,我想知道这是否可行,或者是否需要获得更多开发数据库和运行PHP的权限。

谢谢。

javascript html
1个回答
1
投票

[当您说“没有数据库且没有使用php”时,听起来您实际上是在说“没有任何服务器端脚本”;即仅使用HTML和JavaScript,这样您就可以在后端使用简单的静态HTTP文件服务器。

如果一个用户的动作必须影响另一个用户的状态(即他们在网页上看到的内容),例如在您描述的场景中,这是不可能的:

  1. 用户A加载主页,看到图像1。
  2. 用户B加载第二页,从下拉菜单中选择“ 2”,然后提交表单。
  3. 用户A重新加载主页,看到图像2。

每个用户的客户端(浏览器)仅知道如何与服务器通信,他们没有直接相互通信的机制。

[当用户A加载主页时,服务器必须决定是否发送图像1或图像2。这需要服务器端脚本语言,例如PHP。

当用户B在第二页上提交表单时,服务器必须将该信息存储在某个地方。这需要某种形式的持久性存储,例如数据库。

我认为,为满足您所描述的需求而推出概念验证服务器的最快方法是使用python flask。为了快速演示,您可以避开数据库,而仅使用全局变量。如果您决定要使用数据库,则sqlite3非常轻巧,非常适合原型制作。


这里是一个完整的python flask演示服务器,可以完成您要完成的任务。

server.py

from flask import Flask, escape, request, render_template

app = Flask(__name__)
image = '1'

@app.route('/')
def main():
    global image

    return render_template('index.html', image=image)

@app.route('/config/', methods=['GET', 'POST'])
def config():
    global image

    if request.method == 'POST':
        image = request.form['image']

    return render_template('config.html', image=image)

templates / index.html

<!doctype html>
<title>Main Page</title>
<img src="/static/{{ image }}.jpg" alt="image" />

templates / config.html

<!doctype html>
<title>Main Page</title>
<form method="POST">
  <input type="radio" name="image" value="1">
  <input type="radio" name="image" value="2">
  <input type="submit" value="save">
</form>

这里是完整的目录结构。

├── server.py
├── static
│   ├── 1.jpg
│   └── 2.jpg
└── templates
    ├── config.html
    └── index.html

要安装烧瓶:

pip install flask

要运行服务器(从与存储server.py相同的目录中运行它:

FLASK_APP=server.py flask run

查看网页:

http://localhost:5000/
http://localhost:5000/config/
© www.soinside.com 2019 - 2024. All rights reserved.