Form表单提交(PHP,Python)例子

简述:

表单(form)是用户输入信息与网页互动的一种形式。大多数情况下,用户提交的信息会发给服务器,比如网站的搜索栏就是表单。

表单由一种或多种的小部件组成,比如输入框、按钮、单选框或复选框。这些小部件称为控件(controls)。

<form>标签用来定义一个表单,所有表单内容放到这个容器元素之中。

<form>
  <!-- 各种表单控件-->
</form>

环境准备

在要实现form表单提交前,还需要一些准备工作,软件我使用的是phpstudy_pro:

  1. 首先需要配置一个自己的本地服务器网站,这里我已经完成网站的创建。
    在这里插入图片描述
  2. 在phpstudy下载并启动Apache服务;
    在这里插入图片描述
  3. 在设置-网络-代理中把的使用代理服务器打开,ip地址默认使用127.0.0.1,端口使用8080;
    在这里插入图片描述

PHP

  1. 在phpsutdy搭建的网站文件夹中创建一个文件夹form
    在这里插入图片描述
  2. 使用Visual Studio Code打开form文件夹,创建一个index.html,编写一个简单的form表单例子;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!-- 页面自适应 ,手机平板,电脑切换上体现-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form>
        <label for="">username:</label><input type="text" name="username">
        <label for="">password:</label><input type="password" name="password">
        <input type="submit" value="submit">
    </form>    
</body>
</html>
  1. 在浏览器打开index.html后显示为:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/12549da557524565a39243353f470071.pn
  2. 在同样养的文件夹下面创建一个login.php文件用以获取输出form表单提交的数据,采用POST方式提交。
    在html代码修改添加路径和提交方式:
<form action="./login.php" method="post">

编写简单login.php来接收:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
echo "账号:".$username." "."密码:".$password;

注意:username,password一定要一一对应,不然会出现接收不到问题。

  1. 使用url,通过127.0.0.1来访问index.html
    在这里插入图片描述
    输入username,password后提交;
    在这里插入图片描述
    提交后会自动跳转到login.php,并且输出获取到的数据;
    在这里插入图片描述在这里插入图片描述
    至此php表单提交完成。

Python

python与php实现的方式大同小异,所以我们在上面创建的form文件夹中再建一个login.py文件,通过使用flask框架来编写代码

Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。

  1. 代码如下:
from flask import Flask, request

app = Flask(__name__)

@app.route('/login',methods=['GET','POST'])
def login():
    username = request.form.get('username')
    password = request.form.get('password')
    print('username:',username)
    return 'login successfull!'

if __name__ == '__main__':
    app.run(debug=True)
  1. 结果可知运行在5000端口上;
    在这里插入图片描述

  2. 到浏览器查看5000端口的运行情况,请求成功,能访问到5000端口;
    在这里插入图片描述

  3. Shell终端也是在访问5000端口时输出:none,因为没有打印出username
    在这里插入图片描述

  4. 再使用上面对index.html文件进行修改,将action修改为:
    在这里插入图片描述

  5. 再次到网页对表单进行提交:
    在这里插入图片描述

  6. 成功执行跳转;
    在这里插入图片描述

  7. 终端也是打印出username;
    在这里插入图片描述
    至此Python表单提交完成。

补充

在编译py文件时,软件提示flask模块报错,网上查询后成功解决:

  1. 最开始是提示“ModuleNotFoundError: No module named ‘flask._compat’,这种大概可能是flask版本太高导致,所以降低flask版本;
pip3 install flask==1.1.2
  1. 降低版本后问题还是没有解决,反而提示新的错误ImportError: cannot import name ‘json‘ from ‘itsdangerous‘,这时候原因大概又变成了flask版本太低,所以由需要重新安装高版本的flask
pip install flask==2.0.2

然后就能成功运行了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值