PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。

$_SERVER[’PHP_SELF’]

http://www.kuuqii.com/example/ — – — /example/index.php
http://www.kuuqii.com/example/index.php — – — /example/index.php
http://www.kuuqii.com/example/index.php?a=test — – — /example/index.php
http://www.kuuqii.com/example/index.php/dir/test — – — /dir/test
当我们使用$_SERVER['PHP_SELF']的时候,无论访问的URL地址是否有index.php,它都会自动的返回 index.php.但是如果在文件名后面再加斜线的话,就会把后面所有的内容都返回在$_SERVER['PHP_SELF']。

$_SERVER['REQUEST_URI']

http://www.kuuqii.com/example/ — – — /
http://www.kuuqii.com/example/index.php — – — /example/index.php
http://www.kuuqii.com/example/index.php?a=test — – — /example/index.php?a=test
http://www.kuuqii.com/example/index.php/dir/test — – — /example/index.php/dir/test
$_SERVER['REQUEST_URI']返回的是我们在URL里写的精确的地址,如果URL只写到”/”,就返回 “/”

$_SERVER['SCRIPT_NAME']

http://www.kuuqii.com/example/ — – — /example/index.php
http://www.kuuqii.com/example/index.php — – — /example/index.php
http://www.kuuqii.com/example/index.php — – — /example/index.php
http://www.kuuqii.com/example/index.php/dir/test — – — /example/index.php
在所有的返回中都是当前的文件名/example/index.php

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Flask 中使用 Flask-SQLAlchemy 进行数据更新操作,你可以按照以下步骤进行: 1. 导入所需的模块和类: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy ``` 2. 创建 Flask 应用并配置数据库连接: ```python app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = '数据库连接字符串' db = SQLAlchemy(app) ``` 3. 定义数据模型类,继承自 `db.Model`: ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) email = db.Column(db.String(100)) def __init__(self, name, email): self.name = name self.email = email ``` 4. 执行数据库迁移操作(如果尚未创建数据库表): ```bash flask db init # 初始化迁移环境(仅首次需要执行) flask db migrate # 创建数据库迁移脚本 flask db upgrade # 执行数据库迁移脚本并创建表 ``` 5. 在视图函数中执行更新操作: ```python @app.route('/update_user/<int:user_id>', methods=['POST']) def update_user(user_id): user = User.query.get(user_id) if not user: return 'User not found', 404 new_name = request.form.get('name') new_email = request.form.get('email') user.name = new_name user.email = new_email db.session.commit() return 'User updated successfully' ``` 在上述代码中,我们通过 `User.query.get(user_id)` 来获得要更新的用户对象。然后,我们可以从请求中获取新的用户名和电子邮件,并将其赋值给用户对象的相应属性。最后,我们调用 `db.session.commit()` 来提交更改到数据库。 请注意,上述代码只是一个示例,你可能需要根据自己的实际情况进行调整。另外,确保在更新数据之前对用户进行身份验证和授权,以确保只有授权用户可以执行更新操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值