这就是我要寻找的。我无法弄清楚该如何编码,并且已经阅读了许多其他类似的问题。
我想要的是一个母版页,无需数据库也无需使用PHP来更新另一个。这是因为我无权访问这些资源,因为这是我自己工作的副项目。
这就是我在脑海中计划的方式。
表单页面每个标题将有2个单选按钮。代表前进和后退。用户可以选择其中一个单选按钮并提交表单。
显示页面将显示标题和与所选单选按钮相对应的所选图像。当从表单页面提交新的更新时,如果页面内容发生更改,也必须对其进行更新。该页面将对多个用户可见,并向所有用户更新。
所以,我想知道这是否可行,或者是否需要获得更多开发数据库和运行PHP的权限。
谢谢。
[当您说“没有数据库且没有使用php”时,听起来您实际上是在说“没有任何服务器端脚本”;即仅使用HTML和JavaScript,这样您就可以在后端使用简单的静态HTTP文件服务器。
如果一个用户的动作必须影响另一个用户的状态(即他们在网页上看到的内容),例如在您描述的场景中,这是不可能的:
每个用户的客户端(浏览器)仅知道如何与服务器通信,他们没有直接相互通信的机制。
[当用户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/